zstack(4.1)进程内微服务

微服务背景

微服务现在也是比较火的。
对于单体应用,应用会随着时间推移逐渐变大。随着应用体量的增大,随之会带来一系列问题。很明显的一点就是变得难以维护和开发了,灵活性会越来越低。同时庞大的单体式应用也不能很好满足敏捷开的需求。
相对于单体应用,微服务将不同的模块进行拆分,形成独立的应用,但是对外提供RESTful API供其他部分调用。这么看来,微服务也就是多进程系统。单个应用的修改、扩展等,并不会影响整个系统。
那对于zstack,他的微服务是怎样的做的呢?
  

zstack微服务

zstack 架构同样属于微服务架构,通过API网关,后端提供多种服务。但是zstack的微服务有一点特殊的地方。就是他所谓的in-process 微服务架构。什么意思?上面我们说到的微服务架构是多进程应用,将具体的模块进行了拆分,形成单个独立的应用。但是zstack是单进程应用(在集中部署下),因此他的微服务是说的进程内微服务。

这里写图片描述
【图片来自ZStack】

他的微服务架构如图所示。这里看到,zstack的服务有虚拟机服务、身份认证服务、快照服务、volume服务、L3网络服务、L2网络服务、备份存储服务、主存储服务、主机服务。服务之间利用消息总线进行交互。所有的消息发送到消息总线上,然后进行转发。
当然,如果采用的是集群部署core,那么通过消息总线也能调用不同节点上的微服务。
我们简单看一个例子。

猜你喜欢

转载自blog.csdn.net/Snail_Ren/article/details/73322243