Skip to content
/ lms Public
forked from liuhll/silky

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.

License

Notifications You must be signed in to change notification settings

gzymomo/lms

 
 

Repository files navigation

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

About

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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.1%
  • Other 0.9%