前言
概要:本文从整体上介绍架构中的组件及作用
提示:此篇只是开胃菜后续会持续更新
一、架构图
二、各个组件介绍
1.网关
- **配置路由: **所有服务请求均需要经过网关
- **生成token: **根据用户中心返回用户信息生成token(jwt)
- **拦截请求验证token: ** 接口访问均需要验证token的实效性,同时也可以配置白名单
- **接口访问权限认证: ** 根据当前用户拥有的权限进行验证(具体权限通过用户中心配置)
- **通用参数传递: ** 解析token,访问来源(app/pc) 等放入head(此head全局共享)
2.nacos
- 注册中心和配置中心
详细介绍请参考: https://nacos.io/zh-cn/docs/what-is-nacos.html
3.用户中心
- **登录相关接口: ** 账号密码登录 手机号验证码登录 扫码登录 平台登录 三方登录 等等…
- **用户基础数据维护: ** 用户信息 组织 岗位 角色 权限 等…
4.通用jar包
此jar包需要所有服务引用
1. 全局userInfo解析
2. 全局head传递
3. 全局异常处理
4. 全局返回值封装
5.通用组件
1. redis: 存储登录token;存储业务回调注册信息;存储人员最新GPS信息等...............
2. mqtt: GPS信息转发;工单处理消息转发
3. websock: pc端人员定位信息和消息接收
4. influxdb: GPS历史数据存储(6个月)
5. elk: 日志收集,各个服务日志,nginx日志,链路追踪组件日志等.............
6. skywalking: 链路追踪
7. sentinel: 服务限流
三、总结
提示:盗用他人语录进行总结。
- 架构设计原则: 合适原则;演化原则
- 架构设计本质: 降本增效
- 架构设计场景: 脱离场景谈架构属于耍流氓,业务场景 人员配置场景 成本场景 等等…
- 架构认知: 自己对号入座吧…