系统架构演变:
单体应用架构——>垂直应用架构——>分布式架构——>SOA架构——>微服务架构------>Service Mesh
架构演变原因:
- 单体应用架构的单点容错率低并且无法进行单个功能的水平扩展。
- 垂直应用架构虽然实现了水平扩展,但是个个功能之间无法相互调用,会有重复开发任务。
- 分布式架构提高了代码的复用,提出了服务层,却调用服务耦合度高,难以维护。
- SOA架构(面向服务架构)提出了服务注册中心,容易服务雪崩。
- 微服务架构将服务原子化拆分,成本高。
- Service Mesh 暂未普及。
如何选择系统架构?
系统架构没有最好,只有适合。选择适合的系统架构进行开发即可!
单点容错解决思路和方案:
- 不被外界环境影响
- 不被上游请求压垮(限流)
- 不被下游响应拖垮(返回错误消息)
注意:单点容错对象为出问题的服务的上一个服务!