微服务技术架构体系

上两章主要关注的是微服务的组织架构和业务划分架构,这次来关注下微服务的技术架构体系。

对一些大的成型的互联网公司来说,内部都有一套成型的微服务架构体系,下图给出一个比较成型互联网公司的一个技术架构体系的图,这个是相对比较完善。杨波老师在《微服务》中给出的技术架构图也基本跟我之前公司的技术架构有很大的相似可以说趋同



简单的来看一下每一个层的作用和层与层之间的关系

接入层

接入层负责把外部的流量接入到内部平台系统中来,涉及到更多是基础设施,由运维团队进行负责。

基础设施层

基础设施层主要是由运维团队来进行维护,设计由计算,也计算资源的分配,网络,存储,监控,安全等等

微服务层(网关,业务,支持,平台),这四个层涉及到微服务

网关层

流量接进来之后,会先经过一个网关层,网关在微服务起到举足轻重的作用,主要起到反向路由,限流熔断,安全,鉴权等等的跨横切面的功能,这个层在微服务中起到核心的层次。

业务服务层

整个业务服务按照逻辑划分为两次,分别是聚合层和基础服务层,聚合层对基础层进行聚合和裁剪,对外部提供业务能力。当然这个视每个公司不同情况而定,此层再划分两层是属于逻辑划分。

支撑服务层

微服务并不是单单把业务服务启动起来就完毕,微服务在治理的过程中还需要更多的支持,所以由了支撑服务层。支持服务包含了注册发现,集中配置,容错限流,日志聚合,监控告警,后台服务,后台服务涉及到例如MQ,Job,数据访问,这些都是后台服务的内容。

平台服务层

在微服务逐步完善的过程中,各个团队的都引入一个新的平台服务,例如由容器,镜像的管理,容器的服务编排等等,很多公司先后的引入容器化和容器编排来解决运维管理和发布微服务的难题,docker + keburnetes,确实是被微服务越来越接受。另外,通过CICD支撑起来的devops也是构建在平台服务层的这个能力。由于这个平台服务层的逐步完善也在慢慢解放运维人员一开始对微服务各种治理的不适。

整个六层体系可以认为在一定阶段公司发展的模版,大致的话可以映射到这6个层次