1 Star 0 Fork 0

Remus / spring-cloud-demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

1.微服务示例项目

1.1 技术选型

  • spring boot 2.5.3 + spring cloud 2020.0.3 + alibaba 2021.1
  • 服务注册与发现 nacos
  • 配置中心 nacos
  • 服务消费 OpenFeign + LoadBalancer
  • API 网关 spring cloud gateway
  • 安全认证 spring cloud security
  • 分布式链路追踪 zipkin
  • 限流降级 Sentinel , hystrix
  • 分布式服务 Seata
  • 端口占用[9000-9100]

loadBalancer

https://cloud.spring.io/spring-cloud-static/spring-cloud-commons/2.2.2.RELEASE/reference/html/#spring-cloud-loadbalancer

服务端口占用

服务 端口
gateway 9000
auth 9001
order 9002
item 9003
search 9004

ES本地插件

file:///D:/Program%20Files/elasticsearch-head-5.0.0/index.html

2. 业务场景方案

2.1 用户角色设计

2.1.1 权限设置 auth-server

  • 用户-角色-权限三者的设置和绑定
  • 绑定关系缓存到三方redis
  • 提供登录接口,获取token

2.1.2 用户鉴权 spring-cloud-gateway-demo

  • 用户鉴权
    • 第三方redis 根据token 解析用户信息,进行鉴权。
    • 鉴权允许 通配符 [*]

2.1.3 数据结构设计方案

  • 灵活的配置
  • 保证缓存更新速度和查询速度

2.1.3.1 数据库设计

  • 用户-用户角色-角色-角色权限-权限

2.1.3.2 缓存设计

  • 使用hashSet
    • key :[server:userId] ; value : Set<Role>
    • key :[server:roleId] ; value : Set<Route>
  • 更新缓存的入口
    • 用户-角色绑定,解绑
    • 角色-权限绑定,解绑
    • 用户删除
    • 角色删除
    • 权限删除

2.1.4 待做

  • gateway 访问微服务进行权限校验,权限校验放入 auth 微服务。

3 技术场景

3.1 服务降级,异常透传外抛

以 order 微服务和item 微服务为示例

  • 保存订单,扣除商品库存异常,下单失败

空文件

简介

spring cloud 个人学习 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/.ihcy/spring-cloud-demo.git
git@gitee.com:.ihcy/spring-cloud-demo.git
.ihcy
spring-cloud-demo
spring-cloud-demo
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891