上篇文章介绍了云帮的设计思想,了解了产品设计思想之后咱们本篇文章开始介绍云帮的#技术架构#。
架构
云帮是按照面向服务的架构来设计的。目前大多数集群组件都是通过容器镜像的形式发布和运行的。后续我们会将所有的组件都容器化,通过Kubernetes集群保障组件的高可用。
概述
Kubernetes负责容器的编排和调度,它的所有行为都是由应用引擎发起的。应用引擎将容器相关的操作都进行了封装,云帮通过抽象出了一个应用的概念来屏蔽底层所有与技术(容器、调度、网络……)相关的概念。用户通过对应用进行属性和行为的设置来操作应用,通过应用与应用直接的依赖关系来进行微服务架构的设计。
技术架构
路由层
用户可以访问到的应用都是配置在路由层服务中,它主要由负载均衡组成,通过路由规则分离不同的应用与访问域名。控制层的服务根据容器的服务状态维护负载均衡中的节点。
控制层
控制层服务是平台最核心的功能模块,其内部包含了多个子模块:
计算层
计算层负责容器的运行、监控以及收集汇总容器中的日志。容器的启动与关闭由控制层发起,容器运行后会将状态注册到路由层。
后端服务
后端服务云帮集群的核心服务,包括Kubernetes、etcd、数据存储、日志处理、监控等。
部署结构
下篇预告:云帮的核心组件