面向服务的架构(Service-Oriented Architecture, SOA),基于分布式架构 ,它将不同业务功能按服务进行拆分 ,并通过这些服务之间定义良好 的接口和协议联系起来。

特点 :
1、基于SOA的架构思想 ,将重复公用的功能抽取为组件 ,以服务的方式向各各系统提供服务。
2、各各系 统与服务之间采用webservice、 rpc等方式进行通信。
3、 ESB企业服务总线作为系统与服务之间通信的桥梁。

优点 :
1、将重复的功能抽取为服务 ,提高开发效率 ,提高系统的可重用性、 可维护性。
2、 可以针对不同服务的特 点按需伸缩。
3、采用ESB减少系统中的接口耦合。

缺点 :
1、系统与服务的界限模糊,会导致抽取的服务的粒度过大,系统与服务之间耦合性高。
2、 虽然使用了ESB,但是服务的接口协议不固定,种类繁多,不利于系统维护。

基于SOA架构的思想 ,为了满足移动互联网对大型项目及多客户端的需求 ,对服务层进行细粒度的拆分 ,所拆分的 每个服务只完成某个特定的业务功能 ,比如订单服务只实现订单相关的业务 ,用户服务实现用户管理相关的业务等 等 ,服务的粒度很小 ,所以称为微服务架构。

特点 :
1、 服务层按业务拆分为一个一个的微服务。
2、微服务的职责单一。
3、微服务之间采用RESTful、 RPC等轻量级协议传输。
4、有利于采用前后端分离架构。

优点 :
1、 服务拆分粒度更细 ,有利于资源重复利用 ,提高开发效率。
2、 可以更加精准的制定每个服务的优化方案 ,按需伸缩。
3、适用于互联网时代 ,产品迭代周期更短。

缺点 :
1、==开发的复杂性增加 ==,因为一个业务流程需要多个微服务通过网络交互来完成。
2、微服务过多 ,服务治理成本高 ,不利于系统维护。

10-18 18:29