微服务-整体技术栈预览

微服务架构系统讲解

微服务-整体技术栈预览

 解释:

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

后面会从这10个方面入手记录