Java微服务框架Microserver
-
Microserver 是一个零配置的库,用来运行 Java REST 微服务,通过 Java 标准 main 类执行。从 2014 年开始就一直在 AOL 生产环境中使用。
MicroServer.Instance文件夹下面存放的是微服务实例,至于微服务颗粒度的拆分得结合实际的业务情况。
Microserver 中的项目结构比较简单:MicroServer.Instance文件夹下面存放的是微服务实例,至于微服务颗粒度的拆分得结合实际的业务情况;Demo.MicroServer.IdentityServer4统一鉴权中心;Demo.MicroServer.Infrastructure 基础设施,可以自行在里面添加内容;Demo.MicroServer.Ocelot 这一层是Api网关;Demo.MicroServer.Repository 通用的数据访问层,包含MySQL,Mongo,Redis等,之所以抽离出来,是方便各个服务实例可是直接使用这些通用方法。
上面提到的有一些东西还未能实现,它们分别是 Consul,Polly,Exceptionless,Apollo,SkyWalking,这里还是分别介绍下:
Consul是一种服务网格解决方案,提供具有服务发现,健康检查,Key/Value存储,多数据中心等功能。在这里我们主要使用到服务发现,健康检查,启动场景是:微服务实例启动的时候。
Polly是.NET弹性和瞬态故障处理库,与Ocelot天然友好集成,使用也只需要在Ocelot 层添加少数配置即可使用。
Exceptionless是一款开源的实时的日志收集框架,可以使用在线或者本地搭建好的服务(如果只是本地测试建议直接使用在线的很方便),然后在微服务中配置好Url和应用的ApiKey就可以使用。
Apollo是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景,搭建好Apollo服务后,我们代码配置文件就可以变得相当干净了,只用留Apollo的配置就行,其他的配置几乎全部可以放在Apollo里面了。
项目地址: https://github.com/PeyShine/Demo.MicroServer
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏