微服务-整体技术栈预览
微服务架构系统讲解
解释:
- Gatewey:网关路由,主要接受外部http请求后路由转发到服务端,存在好处:可以统一对外暴露端口,可统一在上层进行权限校验、白名单校验、对接口进行容错限流有效保护后台服务,这里我们主要以spring-cloud-gateway作为研究对象
- 权限认证:用户访问后台服务需要统一做鉴权认证,我们把这块功能提出来在网关层统一做,可以减少重复校验,较少业务端代码复杂性(一定要确保所有服务经过网关对外暴露,如果不经过网关就等于裸奔),这里主要以spring-security为例
- 配置中心:系统变更配置后不需要重启,可实时生效,常用于变更比较频繁如开关等,这里以Apollo为例
- 注册中心:统一存取服务配置(IP/Port)等信息,与服务之间保持心跳同步配置信息,实现服务无限水平扩展,Eureka
- 分库分表:数据量达到一定程度,单库/单表已经不能满足正常业务,需要将数据分片到多个数据库/表,Sharding-jdbc
- 链路跟踪:微服务系统拆分到一定粒度后,服务之间调用错综复杂,需要一条链路将整个调用链路串联起来,方便快速定位问题,Cat
- 日志收集:服务集群部署后,日志量大且分散,需要统一收集并时间序列展示,方便日志定位,ELK
- 服务治理:服务拆分到一定数量,部署变得很复杂,需要自动部署发布,解放人工,Rancher
- 分布式事务:同一个请求需要操作不同系统的不同库表,数据一致性难已保证,分布式事务实现方案
- 容错限流:当遇到访问量突发事件(恶意攻击,抢购)达到系统承受峰值时,能触发策略保证服务始终正常运行不被压垮,Hystrix
后面会从这10个方面入手记录