微服务架构发展历程
发展历程1响应式微服务
- 即时响应性:服务任何时间都要有响应,哪怕挂了
- 可恢复性:压力大过后压力降下来后状态能够恢复,也称回弹性
- 弹性:伸缩性,无状态服务可以任意扩展
发展历程2服务网格与云原生
发展历程3数据库网格
发展历程4单元化架构
- CellArchitecture
- 以单元为组织架构,以单元化部署为调度单位
- 每个单元都是全能的,部署了所有应用,但不是全量的,只有他负责的单元部分的数据
- 通过业务入口设置流量调度器进行流控
微服务架构应用场景
单体与微服务
- 微服务引用在复杂度低的情况下,生产力反而比单体架构低
- 在复杂度高的地方,情况恰恰相反
- 随着复杂度的升高,单体架构的生产力快速下降,而微服务相对平稳
大规模复杂业务系统的架构升级与中台建设
如何实施
微服务架构最佳实践
系统改造
自动化
- 自动化测试
- 自动化部署
-
分布式事务
幂等/去重/补偿
-
监控体系
系统指标
- 业务指标
- 容量规划
- 报警预警
- 运维流程 SOP(StandardOperatingProcedure标准作业程序)
- 故障处理 COE(CorrectionOfError 错误处理 )
SpringCloud



微服务相关框架与工具
APM
应用性能监控
- ApacheSkywalking
- Pinpoint
-
监控
ELK
- prometheus + Grafana
MQ + 时序数据库(InfluxDB/ openTSDB)
可观测性
Tracing
- ApacheSkywalking
- 听云
- Logging
- ELK
Metrics
Authentication 认证Authc
- Authorization 授权Authz
-
相关框架
CAS + SSO(CentralAuthenticationService)
- TGC TicketGrantingCookie
- ST ServiceTicket
- JWT/Token
- OAuth2.0
- SpringSecurity
-
数据处理
分库分表Sharding
- 分布式事务DTX
- 数据迁移Migration
- 数据库集群扩容Scaling
-
网关和通信
流量网关与WAF
- Nginx
- OpenRestry
- Kong
- 业务网关
- Zuul2
- SCG
- Soul
- 通信协议
- Http
- WebSocket
- Mq


