Skip to content

demonran/lura-framework

Repository files navigation

项目简介

本项目基于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网关

  • 动态路由配置
  • 日志审计
  • 黑白名单
  • API认证,提供认证接口
  • 限流熔断
  • 灰度发布
  • 文档中心,集成swagger文档
  • 协议转换,支持http, grpc等协议转换

认证服务

  • 提供手机号认证接口
  • 提供用户密码认证接口
  • 提供第三方认证能力
  • 提供基于rbac的权限认证
  • 提供oauth认证能力

系统服务

  • 操作日志收集
  • 文件服务
  • excel异步处理

模块能力

  • 日志模块
  • 数据库模块
  • Feign调用模块
  • 系统服务监控模块
  • 限流模块
  • 文件存储模块
  • 分布式锁模块
  • 分布式缓存模块
  • 消息模块
  • 灰度模块

本地构建

本地启停基础设施方法

整体启动

启动所有的基础设施服务

bash ./scripts/start.sh

分布启动

  1. 创建本地docker网络
bash ./scripts/start-net.sh
  1. 启动服务
服务 地址 启动脚本
日志服务 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

技术架构图

架构图

changelog

  • 增加swagger文档

演示代码

电商系统

FAQ