本篇承接上一篇文章《微服务架构从入门到精通(一)微服务介绍》讲起,主要是介绍微服务架构的技术生态体系,让大家对微服务架构整个生态圈有个大体的了解。10来多年的从业经验来看,学习技术一般都是先看看书、跟着项目编程,等对技术有个了解后,要谨记进行理论方面的学习,这样才能学习的更透彻些。
开篇前先介绍一下架构师不得不了解的一个定律《康威定律》:
- 系统架构是公司组织架构的反映
- 应该按照业务闭环进行系统拆分/组织架构划分,实现闭环、高内聚低耦合,减少沟通成本
- 如果沟通出现问题,应该考虑进行系统和组织架构的调整
- 在合适时机进行系统拆分,注意成本尤其是维护成本
一、微服务生态体系
1.1 微服务基础架构
本图给出了微服务架构的整体技术栈,同时也提供了微服务架构的技术路线。如何学习并掌握微服务架构:
首先,技术开发,掌握spring cloud spring boot
其次,安全认证相关的技术,jwt、spring security、oauth、shiro等
第三,前后端分离相关的技术
最后,持续交付流水线的部署和发布
后面章节会逐步介绍各块的相关功能,譬如:微服务的灰度部署和蓝绿部署。
1.2 微服务架构总体技术体系
微服务技术体系主要包括:
- 开发框架 spring cloud或者dubbo
- 微服务持续交付流水线
- 微服务部署
- 微服务运维
整个微服务体系,分为网关、业务服务、支撑体系和基础设施。
1.3 微服务部署和运行架构
微服务发布和运行过程如上图,后面会简单介绍一下八大中心的介绍和职责。
1.4 微服务发布体系
1.5 微服务持续交付流水线
二、微服务的基础设施
作为一种架构模式,微服务将复杂系统切分为数十乃至上百个小服务,每个服务负责实现一个独立的业务逻辑。这些小服务易于被小型的软件工程师团队所理解和修改,并带来了语言和框架选择灵活性,缩短应用开发上线时间,可根据不同的工作负载和资源要求对服务进行独立缩扩容等优势。另一方面,当应用被拆分为多个微服务进程后,进程内的方法调用变成了了进程间的远程调用。引入了对大量服务的连接、管理和监控的复杂性。 为了解决这些种种困难,在实施微服务之前,要先进性基础设施的建设。最近比较火的Service Mesh与Istio或者后面单独介绍。
2.1 微服务的冰山模型
2.2 微服务的基础设施
2.3 微服务的实施利器
三、微服务实施过程
3.1 微服务架构设计原则
3.2 微服务实施过程
通过这篇文章,让大家对微服务整个生态体系有个大概了解,后面会结合微服务最佳实践来逐步介绍基础设施的搭建和如果落地微服务。
————————————————
版权声明:本文为优快云博主「晨晨的使魔」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/zxh19800626/article/details/85011303