GithubHelp home page GithubHelp logo

huajiongyu / lms Goto Github PK

View Code? Open in Web Editor NEW

This project forked from liuhll/silky

0.0 1.0 0.0 2.66 MB

Lms is an aim to pass dotNet platform quickly constructs the framework of micro-service development. It has the characteristics of stability, safety, high performance, easy expansion and easy use.

Home Page: http://docs.lms-fk.com

License: MIT License

C# 99.12% HTML 0.47% PowerShell 0.19% Shell 0.22%

lms's Introduction

lms microservice framework

GitHub license Commit NuGet MyGet (nightly builds) NuGet Download

English | 简体中文

Project Introduction

The lms framework is designed to help developers quickly build a microservice development framework through simple code and configuration under the .net platform.

Build general business microservice applications through the Generic Host of the .net framework, internal Communicate through the rpc implemented by dotnetty/SpanNetty. During the message transmission process, the message is communicated within the same cluster through rpcToken, and the rpc communication supports ssl encryption.

Through the Web Host of .net build a service host that provides access to the outside world ( Gateway), when the http request or the ws session request arrives at the host, the routing entry of the service cluster is resolved through the built-in middleware, and the rpcToken is specified, and the built-in load balancing algorithm and routing addressing and The hosts inside the cluster communicate with rpc.

In the communication process, LMS uses cache-based interception to realize TCC distributed transaction.

In the development and design process, the design and ideas of various excellent open source products have been borrowed and absorbed. Here, the author expresses his tribute and gratitude to the ancestors.

Getting Started

  • Learn the lms framework through Developer Documentation.
  • Use lms.samples project to familiarize yourself with how to build a microservice application using the lms framework.
  • Familiarize yourself with the configuration properties of the lms framework through the Configuration document.

Framework Features

Service Engine

  • Responsible for the initialization process of the lms host
  • Service registration and resolve
  • Responsible for module resolve and registration

Routing And Parameters

  • Routing resolve and maintenance of the distributed application cluster routing table through the registry
  • Generate restful style WebAPI through the gateway to provide http services to the outside
  • Realize the verification of input parameters through characteristics

RPC Communication

Service Governance

  • Support load balancing routing methods such as polling, random routing, hash consistency, etc.
  • Support failure callback -Use Policy to realize service fusing and retry
  • Support service failover
  • Support removing unhealthy services
  • Disable external access to services through configuration support

The service governance module will continue to be updated

Modular Management

  • Module dependency settings
  • Register service through the module
  • Pass module pre-initialization method or release resources

Support Distributed Transactions

  • Realize distributed transactions through TCC

Support Websocket Communication

Distributed Lock

Contribute

  • One of the easiest ways to contribute is to participate in discussions and discuss issues. You can also contribute by submitting Pull Request code changes.

  • You can also join the QQ group (934306776) to participate in the discussion of the lms framework.

    qq-group.jpg

lms's People

Contributors

liuhll avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.