lms微服务框架介绍

LMS框架旨在帮助开发者在.net平台下,通过简单的配置和代码即可快速的使用微服务进行开发。

LMS通过.net框架的主机托管应用,内部通过dotnetty/SpanNetty实现的rpc进行通信,在消息传递过程中,通过rpcToken保证消息的可靠性。

LSM通过.net的web主机来托管对外提供访问入口的服务主机,在http请求或是ws会话请求到达该主机时,通过内置的中间件解析到服务集群的路由条目,并指定rpcToken,通过内置的负载均衡算法和路由寻址与集群内部的主机进行rpc通信。

LMS在通信过程中,使用基于缓存拦截实现了TCC分布式事务。

在开发与设计过程中借鉴和吸收了各个优秀的开源产品的设计与思想。在此,作者表示对各个先辈的致敬与感谢。

为方便开发者学习与表达对前辈的谢意,如下对LMS各个模块的设计思想来源做出说明:

服务引擎与IOC容器: 该模块主要借鉴了nopCommerce

模块管理: 该模块的设计主要借鉴ABP

RPC通信: 该模块的设计主要借鉴了SurgingRabbitCloud

路由与参数解析: 该模块借鉴了aspnetcore

缓存拦截: 该模块的设计主要借鉴了Surging的设计思想

动态代理: 该模块的设计主要借鉴了ABP

分布式缓存: 该模块的设计主要借鉴了ABP

分布式事务: 该模块的设计思想主要借鉴了hmily

zookeeper客户端SDK: 该模块使用了zookeeper-client

WebSocket通信: 该模块借鉴了SurgingOcelot

分布式锁: 分布式锁使用了RedLock.net

实体映射: 该模块使用了AutoMapper

框架特性

服务引擎

  • 服务解析与注册
  • 负责LMS主机的初始化过程

路由与参数

  • 支持restful风格的API

RPC通信

  • 使用dotnetty/SpanNetty作为通信组件
  • 使用Zookeeper作为服务注册中心
  • 使用Castle.Core.AsyncInterceptor生成动态代理
  • 支持缓存拦截
  • 支持轮询、随机路由、哈希一致性等负载均衡路由方式
  • 支持JSON、MessagePack、ProtoBuf编解码方式
  • 使用Policy实现服务熔断与重试
  • 支持失败回调

模块化管理

  • 模块的依赖设置
  • 通过模块注册服务
  • 通过模块预初始化方法或释放资源

支持分布式事务

  • 通过TCC方式实现分布式事务

支持websocket通信

分布式锁

开源地址

开发者文档

  • TODO,马上就来ing

题话外

开源地址离不开您的支持,如果您也认可lms,请给个star,或是给该博文一个赞。谢谢~~~

lms框架即将发布第一个版本了的更多相关文章

  1. CINATRA发布第一个版本

    cinatra是什么? cinatra是C++开源社区–purecpp发起的一个开源项目,现在正式发布第一个版本cinatra0.9.0,cinatra是一个现代C++写的web framework, ...

  2. API加密框架monkey-api-encrypt发布1.2版本

    框架介绍 monkey-api-encrypt 是我之前写的一个API加密的框架,主要是将加密/解密的逻辑交给框架实现,等数据到达Controller后自动解密了,让开发人员不需要关注数据的加解密操作 ...

  3. iNeuOS工业互联平台,iNeuKernel(物联网核心组件)远程控制标准化设计与实现。发布v2.3版本。

    目       录 1.      概述... 2 2.      平台演示... 2 3.      控制端与iNeuKernel的交互协议... 3 4.      设备驱动实现控制业务... 4 ...

  4. SpreadJS 全面支持 Angular2,V10.2 版本即将发布

    日前,纯前端表格控件 SpreadJS 发布了最新的CTP版本,在此版本中增加了对 Angular2 的支持以及一些 bug 修复. SpreadJS 纯前端表格控件是基于 HTML5 的 JavaS ...

  5. JeecgBoot版本4月份新版即将发布,抢先体验。。

    JeecgBoot版本4月份新版即将发布,抢先体验.. 即将发布版本-更新日志:     1.代码生成器GUI工具     2.支持一对多代码生成器     3.支持按钮权限     4.支持数据权限 ...

  6. 【转】MongoDB 3.0 正式版本即将发布,强力推荐

    MongoDB 今天宣布3.0 正式版本即将发布.这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统. MongoDB 3.0 在性能和伸缩性方面都有 ...

  7. CDNDrive 第一个版本发布 & 布客新知第二次备份完成

    CDNDrive 第一个版本发布,新适配五个图床 https://github.com/apachecn/CDNDrive 另外,布客新知第二次备份完成 TutorialsPoint:http://i ...

  8. Selenium 4即将发布:每个QA都应该知道的

    阅读原文 Simon Stewart(Selenium的创始成员)在班加罗尔的Selenium大会议上正式确认了Selenium4.0的发布日期和一些主要更新.我们先来提前了解一下Selenium 4 ...

  9. .NET Core 3.0即将发布!

    期待已久的.NET Core 3.0即将发布! .NET Core 3.0在.NET Conf上发布.大约还有9个多小时后,.NET Conf开始启动. 为期3天的大概日程安排如下: 第1天-9月23 ...

随机推荐

  1. web 安全 & web 攻防: XSS(跨站脚本攻击)和 CSRF(跨站请求伪造)

    web 安全 & web 攻防: XSS(跨站脚本攻击)和 CSRF(跨站请求伪造) XSS(跨站脚本攻击)和CSRF(跨站请求伪造) Cross-site Scripting (XSS) h ...

  2. HTML5 dataset All In One

    HTML5 dataset All In One dataset https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignEleme ...

  3. bash for mac

    bash for mac https://sourabhbajaj.com/mac-setup/iTerm/ https://sourabhbajaj.com/mac-setup/iTerm/zsh. ...

  4. react 遍历 object

    @observable obj = { name: "ajanuw", age: 22, }; @computed get list() { return _.toPairs(th ...

  5. 算法型稳定币USDN有什么魔力引发市场热潮?

    最近比特币重新突破了8万大关,区块链行业又再次火爆起来,吸引了圈内圈外人的火热讨论,而这其中市场投资者讨论最频繁的就要属算法型稳定币USDN了. USDN是基于NGK.IO区块链中的稳定币, 1枚US ...

  6. idea没有错误提示的解决方法(一直处于错误分析中)

    仅作记录,以防再次发生却不记得. 原文链接:https://blog.csdn.net/a755199443/article/details/90084316 问题描述:idea没有自动报错.例如随便 ...

  7. TERSUS无代码开发(笔记08)-简单实例电脑端后台逻辑开发

    主管审批功能逻辑开发 1.查询逻辑开发(查询待审批记录) 2.批准处理(将选中的一条记录进行批准处理)  =============================================== ...

  8. yum install valgrind.x86_64

    Reference: https://cloudlinux.zendesk.com/hc/en-us/articles/115004075294-Fix-rpmdb-Thread-died-in-Be ...

  9. oracle startup startup nomount startup mount 的区别

    startup nomount选项启动实例,但不安装 数据库.当数据库以这个模式启动时,参数文件被读取:后台进程和内存结构被启动:但它们不被附加或与数据库的磁盘结构进行通信.当实例处于这个状态时sta ...

  10. 手把手教你Spring Boot2.x整合kafka

    首先得自己搭建一个kafka,搭建教程请自行百度,本人是使用docker搭建了一个单机版的zookeeper+kafka作为演示,文末会有完整代码包提供给大家下载参考 废话不多说,教程开始 一.老规矩 ...