这是我参与「第五届青训营 」伴学笔记创作活动的第9天,今天我重温了微服务架构方面的相关知识,系统架构需要演进的原因是,一是互联网的爆炸性发展、二是硬件设施的快速发展、三是需求复杂性的多样化、四是开发人员的急剧增加、五是计算机理论及技术的发展。而系统架构的演变历史从单体架构、垂直应用架构、分布式架构、SQA架构到微服务架构。单体架构具有性能最高、冗余小等优点,但也同样存在debug困难、模块相互影响和模块分工、开发流程困难等缺点。 垂直应用架构是按照业务线垂直划分的架构,优点是具有业务独立开发维护,缺点是不同业务存在冗余,而且每个业务还是单体。分布式架构是抽出业务无关的公共模块,具有业务无关的独立服务等优点,但是其缺陷是,服务模块bug可导致全站瘫痪,调用关系复杂且不同服务冗余等。SQA架构是面向服务的架构,具有服务注册的优势,劣势是整个系统设计是中心化的,需要从上至下设计和重构困难等。微服务架构是彻底的服务化的架构,具有开发效率快、业务独立设计、自下而上和故障隔离等优势,劣势是治理、运维难度大、观测挑战难、安全性差和分布式系统不完善等。 然后我学习了微服务架构的核心要素,主要包括服务治理、可观测性和安全性等,服务治理包括服务注册、服务发现、负载均衡和扩缩容等可观测性主要包括日志采集、日志分析、监控打点、监控大盘和异常报警等,安全主要包括身份验证、认证授权、访问令牌和审计等,今天通过重新学习微服务架构的相关知识,明白了它的重要性,受益匪浅。