浅析SOA、分布式和微服务
一、SOA的特征及其实现
SOA的特征
SOA(面向服务的架构)是一种理念,其包含了以下一些特征:
- 面向服务的分布式计算
- 服务间松散耦合
- 支持服务的组装
- 服务注册和自动发现
- 以服务契约方式定义服务交互方式
所以,其实SOA讲的主要就是将服务模块化的一个架构思路。
基于SOA的两种架构实现(ESB和分布式框架)
一般我们谈到SOA,绕不开的一定是基于ESB总线的SOA架构。这种架构方式以一条服务总线,将所有模块化服务串联起来,以达到对不同种类的服务(不同语言、不同环境等)进行管理,以及交互等目的。这种架构思路也特别清晰:由ESB为中心来串联所有服务。
既然SOA是一种架构思路,那必然不可能只有基于ESB的一种“中心化”的架构方式。其实,“去中心化”的分布式服务框架其实也同样遵循了以上对SOA架构的特征定义。所以,分布式服务框架也能算作是SOA的一种。对于这两种SOA的架构其实并没有什么优劣之分,他们是平级的。并不是说“去中心化”概念炒的更火热,“去中心化”的架构就是“中心化”架构的升级版本。这两种架构分别满足了两种不同的业务诉求。而能够合理满足业务诉求,才是架构选型的意义所在。
二、分布式和微服务
敬请期待