Lion 项目简介
本项目已提托管至 GitHub, 请前往 https://github.com/micyo202/lion 查看源码
logo
注: 本项目是基于 SpringCloud 微服务架构的, 若需要查看基于 Dubbo 的 RPC 项目请查看本人 yan 项目, 前往地址: https://www.jianshu.com/p/6362ec32ecd9
本项目是使用 Gradle 构建, 基于 SpringBoot 2.1.2.RELEASE,SpringCloud Greenwich.RELEASE 体系实现的一套完整微服务架构, 采用 OAuth2 统一授权认证, 支持 Java,Scala 混编, 支持 Docker 容器化部署, 规划将包含大数据, 区块链等相关模块, 项目孵化中...
利用 Spring Boot Admin 来监控各个独立 Service 的运行状态, 利用 Turbine 来查看近实时的接口运行状态和调用频率, 利用 Zipkin 进行查看链路跟踪等.
基于 Eureka 来实现的服务注册与调用, 在 SpringCloud 中使用 Feign, 我们可以做到使用 HTTP 请求远程服务时能与调用本地方法一样的编码体验, 开发者完全感知不到这是远程方法, 更感知不到这是个 HTTP 请求.
因为采取了服务的分布, 为了避免服务之间的调用 "雪崩", 采用了 Hystrix 的作为熔断器, 避免了服务之间的 "雪崩" 效应
项目整合了 spring-boot 2.1.2 + jpa + mybatis 框架
项目使用 travis-ci 进行持续性 CI, 保证了最新提交代码的 build passing, 使用 codecov 进行自动化测试代码的覆盖率.
项目后期项目也会不断更新与时俱进, 敬请期待...
项目架构图
项目架构图
说明
网上有关 SpringCloud 的教程很多, 相关的项目也很多, 但很少有整合完整的好项目, 即便有也是基于 1.x 的版本, 在这个技术迭代更新发展速度很快的时代, 这样的项目不利于实际开发和落地. 因此 lion 诞生了, 它是一套完整的微服务体系框架, 几乎包含了微服务所有常用组件, 为了让中小型公司解决当下技术瓶颈, 快速将现有技术架构拆分改造为微服务体系架构, 只需在本框架上进行相关业务开发即可, 大大减少了微服务架构的入门门槛, 达到拿来就用, 使架构师及开发人员不用过多的关注架构本身, 只需专注业务开发即可, 节省了大量时间.
- @EnableCircuitBreaker
- Feign
- MacOS Mojave / Windows 10
- CentOS 7
- JDK 1.8
- Scala 2.11.12
- IntelliJ IDEA 2018.3 / Eclipse 2018-12
- lion-eureka-server(端口: 8101,8102...)
- lion-config-server(端口: 8300, 启动后请等待 lion-config-server 成功注册到 eureka 后再启动之后各服务, 否则会找不到配置服务)
- lion-admin-server(端口: 8200)
- lion-zuul-server(端口: 8400)
- lion-zipkin-server(端口: 9411)
- lion-gateway-server(端口: 8450)
- lion-turbine-server(端口: 8500)
- lion-upms(端口: 8800)
- lion-auth(端口: 8888)
- lion-bigdata(端口: 8801)
- lion-blockchain (端口: 8802)
- lion-demo(相关 demo 示例)
- lion-demo-provider(端口: 8601,8602,8603...)
- lion-demo-consumer(端口: 8701,8702,8703...)
- lion-demo-ribbon(端口: 8781)
- lion-demo-sample(端口: 8782)
来源: http://www.jianshu.com/p/a061effe4ae5