lms框架即将发布第一个版本了
lms微服务框架介绍
LMS框架旨在帮助开发者在.net平台下,通过简单的配置和代码即可快速的使用微服务进行开发。
LMS通过.net框架的主机托管应用,内部通过dotnetty/SpanNetty实现的rpc进行通信,在消息传递过程中,通过rpcToken保证消息的可靠性。
LSM通过.net的web主机来托管对外提供访问入口的服务主机,在http请求或是ws会话请求到达该主机时,通过内置的中间件解析到服务集群的路由条目,并指定rpcToken,通过内置的负载均衡算法和路由寻址与集群内部的主机进行rpc通信。
LMS在通信过程中,使用基于缓存拦截实现了TCC分布式事务。
在开发与设计过程中借鉴和吸收了各个优秀的开源产品的设计与思想。在此,作者表示对各个先辈的致敬与感谢。
为方便开发者学习与表达对前辈的谢意,如下对LMS各个模块的设计思想来源做出说明:
服务引擎与IOC容器: 该模块主要借鉴了nopCommerce
模块管理: 该模块的设计主要借鉴ABP
RPC通信: 该模块的设计主要借鉴了Surging和RabbitCloud
路由与参数解析: 该模块借鉴了aspnetcore
缓存拦截: 该模块的设计主要借鉴了Surging的设计思想
动态代理: 该模块的设计主要借鉴了ABP
分布式缓存: 该模块的设计主要借鉴了ABP
分布式事务: 该模块的设计思想主要借鉴了hmily
zookeeper客户端SDK: 该模块使用了zookeeper-client
WebSocket通信: 该模块借鉴了Surging和Ocelot
分布式锁: 分布式锁使用了RedLock.net
实体映射: 该模块使用了AutoMapper
框架特性
服务引擎
- 服务解析与注册
- 负责LMS主机的初始化过程
路由与参数
- 支持restful风格的API
RPC通信
- 使用dotnetty/SpanNetty作为通信组件
- 使用Zookeeper作为服务注册中心
- 使用Castle.Core.AsyncInterceptor生成动态代理
- 支持缓存拦截
- 支持轮询、随机路由、哈希一致性等负载均衡路由方式
- 支持JSON、MessagePack、ProtoBuf编解码方式
- 使用Policy实现服务熔断与重试
- 支持失败回调
模块化管理
- 模块的依赖设置
- 通过模块注册服务
- 通过模块预初始化方法或释放资源
支持分布式事务
- 通过TCC方式实现分布式事务
支持websocket通信
- 通过websocket-sharp实现websocket通信
分布式锁
- 使用RedLock.net实现分布式锁
开源地址
- github: https://github.com/liuhll/lms
- gitee: https://gitee.com/liuhll2/lms
开发者文档
- TODO,马上就来ing
题话外
开源地址离不开您的支持,如果您也认可lms,请给个star,或是给该博文一个赞。谢谢~~~
lms框架即将发布第一个版本了的更多相关文章
- CINATRA发布第一个版本
cinatra是什么? cinatra是C++开源社区–purecpp发起的一个开源项目,现在正式发布第一个版本cinatra0.9.0,cinatra是一个现代C++写的web framework, ...
- API加密框架monkey-api-encrypt发布1.2版本
框架介绍 monkey-api-encrypt 是我之前写的一个API加密的框架,主要是将加密/解密的逻辑交给框架实现,等数据到达Controller后自动解密了,让开发人员不需要关注数据的加解密操作 ...
- iNeuOS工业互联平台,iNeuKernel(物联网核心组件)远程控制标准化设计与实现。发布v2.3版本。
目 录 1. 概述... 2 2. 平台演示... 2 3. 控制端与iNeuKernel的交互协议... 3 4. 设备驱动实现控制业务... 4 ...
- SpreadJS 全面支持 Angular2,V10.2 版本即将发布
日前,纯前端表格控件 SpreadJS 发布了最新的CTP版本,在此版本中增加了对 Angular2 的支持以及一些 bug 修复. SpreadJS 纯前端表格控件是基于 HTML5 的 JavaS ...
- JeecgBoot版本4月份新版即将发布,抢先体验。。
JeecgBoot版本4月份新版即将发布,抢先体验.. 即将发布版本-更新日志: 1.代码生成器GUI工具 2.支持一对多代码生成器 3.支持按钮权限 4.支持数据权限 ...
- 【转】MongoDB 3.0 正式版本即将发布,强力推荐
MongoDB 今天宣布3.0 正式版本即将发布.这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统. MongoDB 3.0 在性能和伸缩性方面都有 ...
- CDNDrive 第一个版本发布 & 布客新知第二次备份完成
CDNDrive 第一个版本发布,新适配五个图床 https://github.com/apachecn/CDNDrive 另外,布客新知第二次备份完成 TutorialsPoint:http://i ...
- Selenium 4即将发布:每个QA都应该知道的
阅读原文 Simon Stewart(Selenium的创始成员)在班加罗尔的Selenium大会议上正式确认了Selenium4.0的发布日期和一些主要更新.我们先来提前了解一下Selenium 4 ...
- .NET Core 3.0即将发布!
期待已久的.NET Core 3.0即将发布! .NET Core 3.0在.NET Conf上发布.大约还有9个多小时后,.NET Conf开始启动. 为期3天的大概日程安排如下: 第1天-9月23 ...
随机推荐
- DuckDuckGo Privacy Browser
DuckDuckGo Privacy Browser https://apps.apple.com/app/duckduckgo-privacy-browser/id663592361 https:/ ...
- uni-app 实战-打包 📦 App
uni-app 实战-打包 App Android & iOS 证书 广告 refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问 ...
- JavaScript Number Type Checker
JavaScript Number Type Checker Number.isInteger // static 方法 Number.isInteger(value) https://develop ...
- HTML marquee
HTML marquee 跑马灯 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/marquee https://developer ...
- PAUL ADAMS ARCHITECT LTD:拜登上台后,美国房地产走势如何?
受全球经济危机影响,美国经济的复苏之路并不平坦,然而住宅房地产市场却是少数的例外,表现得非常亮眼.而随着美国拜登总统上台的临近,美国房产市场还会持续当前的发展吗?对于这个问题,近日,美国知名房地产公司 ...
- 揭秘高倍矿币 Baccarat BGV,为何NGK DeFi的财富效应如此神奇?
作为区块链4.0代表的NGK公链,这次也将借助它自己的DeFi版块NGK Baccarat,开启属于它自己的千倍财富之旅. 如果说,比特币能让没有银行账户的人,可以在全球任何时间.地点都能自由进行交易 ...
- [转]自动驾驶平台Apollo 2.5环境搭建
原文地址:https://blog.csdn.net/jinzhuojun/article/details/80210180,转载主要方便随时查阅,如有版权要求,请及时联系. 我们知道,自动驾驶在学界 ...
- 【Python】set 与 list ——如何对列表进行去重?
在Python中,形如 {1,2,3,4,5} 这样的数据类型叫做"集合",外形酷似列表list [1,2,3,4,5] 但是集合与列表有很多区别,具体表现在以下几方面: List ...
- XSS跨站脚本攻击(1)
将跨站脚本攻击缩写为XSS,恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页面的时候,嵌入其中的Web里面的Script代码就会被执行,从而达到恶意攻击用户的目的. 反射型XSS 反射 ...
- Redis操作指南
目录 Redis安装与使用教程 一.Redis介绍 1.redis安装 2.redis与mysql的异同 3.redis与memcache的异同 二.Redis操作 1.启动服务 2.密码管理 3.连 ...