本项目基于SpringCloud实现一套微服务治理框架,包含微服务治理相关的服务组件,集成服务注册发现、链路追踪、日志收集、灰度发布、RPC调用等能力。
项目名称 | module | 说明 | 技术方案 |
---|---|---|---|
网关服务 | lura-gateway-server | 微服务入口,集成限流、鉴权能力 | SpringCloudGateway、 JWT、 令牌桶算法 |
微服务jar包 | lura-framework-spring-boot-starter | 提供服务注册中心、服务注册客户端lib ,支持多环境 | SpringCloudAlibaba, Sentinel, nacos, zipkin |
nacos服务 | lura-nacos-server | 提供微服务配置能力,支持多环境配置 | Nacos、docker-compose |
zipkin服务 | lura-zipkin-server | 提供调用链路追踪 | zipkin-server 、docker-compose |
框架核心代码 | lura-framework-core | 提供框架上下文,能力封装 | SpringCloudSleuth |
认证服务 | lura-framework-auth-server | 用户认证服务,生成JWT token | SpringSecurity、JWT |
能力 | 说明 |
---|---|
网关服务 | 微服务入口,集成限流/认证等能力 |
注册发现 | 提供服务注册中心、服务注册客户端lib ,支持多环境 |
配置中心 | 提供微服务配置能力,支持多环境配置 |
链路追踪 | 提供调用链路追踪,提供server和client lib |
灰度发布 | 提供微服务灰度发布策略,rpc灰度调用、网关灰度转发 |
- 动态路由配置
- 日志审计
- 黑白名单
- API认证,提供认证接口
- 限流熔断
- 灰度发布
- 文档中心,集成swagger文档
- 协议转换,支持http, grpc等协议转换
- 提供手机号认证接口
- 提供用户密码认证接口
- 提供第三方认证能力
- 提供基于rbac的权限认证
- 提供oauth认证能力
- 操作日志收集
- 文件服务
- excel异步处理
- 日志模块
- 数据库模块
- Feign调用模块
- 系统服务监控模块
- 限流模块
- 文件存储模块
- 分布式锁模块
- 分布式缓存模块
- 消息模块
- 灰度模块
启动所有的基础设施服务
bash ./scripts/start.sh
- 创建本地docker网络
bash ./scripts/start-net.sh
- 启动服务
服务 | 地址 | 启动脚本 |
---|---|---|
日志服务 | http://localhost:8891 | start-plumelog-server.sh |
注册配置服务 | http://localhost:8848 | start-nacos-server.sh |
zipkin服务 | http://localhost:9411 | start-zipkin-server.sh |
sentinel dashboard服务 | http://localhost:8858 | start-sentinel-dashboard.sh |
- 增加swagger文档