这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天
本篇笔记主要记录一下微服务架构的学习知识
1.系统架构演变历史
- 单体架构:是最早的架构模式,优点就是性能高冗余小,但是相对的缺点就是调试困难,并且每个模块会相互影响。
- 垂直应用架构:按照业务线垂直进行划分,做到的优点就是能将业务独立开发维护,缺点则是不同模块之间依旧有冗余部分,而且每个业务依旧是单体。
- 分布式架构:将和业务无关的公共模块抽离,可以做到独立公共模块的独立服务,但是公共模块的BUG可能会导致整个系统的崩溃,而且不同的业务会有冗余部分,且服务间的调用关系复杂。
- SOA架构:一种面向服务的架构模式,通过服务注册从而提供服务,缺点就是整个系统设计是中心化的,而且需要从上往下进行设计。
- 微服务架构:目前比较流行的架构模式,能够做到彻底的服务化,开发效率高,业务独立设计并且自下向上设计,同时也可以做到故障隔离,避免牵一发而动全身的情况发生。而能够这样隔离,那么它的运维肯定相对比较困难而且安全性会比较低。
2.微服务架构核心要素
通过将服务注册实例在服务发现中心中,然后可以通过网络传输进行访问,从而达到服务间的隔离。
3.重试的意义
- 在微服务架构中可能存在这样的异常情况发生,而重试可以避免偶发性的错误,从而提高SLA(Service-Level Agreement)。
- 降低错误率。
- 降低长尾延时,对于偶尔耗时长的请求,重试请求将会有机会提前返回。
- 容忍暂时性错误,系统偶尔会发生暂时性异常,重试可以尽量规避。
- 避开下游故障实例。
人生苦短,不如go浪一下。