分布式服务

单体架构:

不同模块组件聚合后运行在通用的应用服务器上,weblogic 、websphere、jboss,也包括tomcat。

尽管大多数公司使用规范来约束不同业务逻辑的隔离性来解耦,但是久而久之,随着复杂业务逻辑的迭代增加及开发人员的不断流动,新手工程师为了节省时间和赶进度,非法使用了其他组件的服务,导致业务组件之间、ui组件之间、数据耦合性必然增加,最后导致组件与组件之间难以划清界限。

SSH

服务架构

对比单体架构和ssh时代,soa将模块化组件从单一进程中进一步的拆分成独立的对外提供服务的网络化组件,每个网络化组件通过某种网络协议对外提供服务。特点如下:

soa定义了良好的对外接口。

每个服务内部结构和实现发生 改变时,不影响整个流程对外提供服务,只要对外的接口保持不变。

soa通信格式通常为xml,因为xml标记定义在大规模和高并发通信过程中,冗余标记会带来性能影响,后来被json所取代。

soa通过定义标准的对外接口,供多个使用方同时使用,增加了服务的可重用性。

1.webservice

2.esb

ESB的分散天性

ESB应当设计成有标准组件构成的分散的模型,以便能够快速升级来满足任何放置在它之上的消息的需求。在多个内连的运行时引擎之间都要了解ESB的分散天性。因此,每一个运行时引擎只负责处理由TRANS定义的最小功能。

每个运行时引擎都包括:管理器,基于目的地的媒介器列表和命名空间目录。

3.1     ESB管理

每一个运行时引擎都保留一个管理器,这个管理器处理管理功能,比如服务供应,服务注册,服务发现,消息日志,测量和监控。

3.2     ESB消息媒介

每一个运行时引擎也都保留一个媒介器列表;每一个媒介器总是一对一的和目的地关联。媒介器负责在消息到达目的地之前处理(转换、增强和安全)消息。在转换、增强和安全每一个消息后,媒介器将这些消息路由到目的地。

 

微服务

你可能感兴趣的:(架构)