自适应演化的微服务系统,目标是提供一套完整的编程框架以及微服务系统,让整个微服务系统能够自动遵循 MAPE-K 模型,对整个服务系统进行 Monitor,Analyze,Plan 以及 Execute,进而让整个系统具备针对用户需求变化的自适应能力,以维持 QoS 稳定。
整体组件划分如下:
common
:存储在两个及以上组件使用到的相关 bean,utils,实体类 等MClientFramework
:微服务编程框架MClusterAgent
:集群中的agent,让集群能够接收外部指令MEurekaServer
:定制版 eureka 中心MGateway
:集群中的网关, 自己编写的路由规则MCenterControl
:整个微服务自适应系统的中控MServiceAnalyser
:从源码层面解析一个微服务项目,来自动获取微服务相关信息
- 部署
MEurekaServer
- 部署 elasticsearch, logstash(参见github), 以及 每个kubernetes上都要部署一个
MInfoCollector
- 部署
MClusterAgent
到 kubernetes master 节点上(懒得改代码,在MClientUtils
里初始化MDockerManagerK8SImpl
那里,可以指定 Kubernetes API Server 地址,理论上应该填上地址,这样才能够跑多个 agent 进行负载均衡)