架构师修炼系列【SOA架构】


SOA的背景

SOA 提出的背景是企业内部的 IT 系统重复建设且效率低下, 主要体现在:

企业各部门有独立的 IT 系统,比如人力资源系统、财务系统、销售系统 ,这些系统可能都涉及人员管理,各 IT 系统都需要重复开发人员管理的功能随着业务的发展,复杂度越来越高,更多的流程和业务需要多个IT系统合作完成各个独立的 IT 系统可能采购于不同的供应商,实现技术不同,企业自己也不太可能基于这些系统进行重构
SOA详解

为了应对传统 IT 系统存在的问题, SOA 提出了 三个关键概念

服务:所有业务功能都是一项服务,服务就意味着要对外提供开放的能力,当其他系统需要使用这项功能时,无须定制化开发,服务可大可小,可简单也可复杂
例如,人力资源管理可以是一项服务,包括人员基本 信息管理、请假管理、组织结构管理等功能;而人员基本信息管理也可以作为一项独立 的服务,组织结构管理也可以作为一项独立的服务 。 到底是划分为粗粒度的服务,还是 划分为细粒度的服务,需要根据企业的实际情况进行判断ESB:Enterprise Service Bus,中文翻译为“企业服务总线”。从名字就可以看出,ESB 参考了计算机总线的概念 。计算机中的总线将各个不同的设备连接在一起,ESB 将企业中各个不同的服务连接在一起。因为各个独立的服务是异构的,如果没有统一的标准,则各个异构系统对外提供的接口是各式各样的 。SOA使用ESB来屏蔽异构系统对外提供各种不同的接口方式,以此来达到服务间高效的互联互通松糯合:松辑合的目的是减少各个服务间的依赖和互相影响 。因为采用SOA架构后,各个服务是相互独立运行的,甚至都不清楚某个服务到底有多少对其他服务的依赖。如果做不到松祸合,某个服务一升级,依赖它的其他服务全部故障,这样肯定是无法满足业务需求的,但实际上真正做到松辅合并没有那么容易,要做到完全后向兼容,是一项复杂的任务
典型的SOA架构

架构师修炼系列【SOA架构】
SOA 架构是比较高层级的架构设计理念,一般情况下我们可以说某个企业采用了 SOA 的 架构来构建 IT 系统,但不会说某个独立的系统采用了 SOA 架构
例如,某企业采用 SOA 架构, 将系统分为“人力资源管理服务”“考勤服务”“财务服务”,但人力资源管理服务本身不会再使 用 SOA 进行设计,也不会再重新使用独立的一套 ESB

SOA解决了传统IT系统重复建设和扩展效率低的问题,但其本身也引入了更多的复杂性,SOA 最广为人垢病的就是 ESB, ESB 需要实现与各种系统间的协议转换、数据转换、透明的动态路由等功能 。例如,下图中ESB将JSON转换为Java
架构师修炼系列【SOA架构】
下图中 ESB 将阻ST 协议转换为 RMI 和 AMQP 两个不同的协议
架构师修炼系列【SOA架构】
ESB虽然功能强大,但现实中的协议有很多种,如JMS、WS、HTTP、RPC 等,数据格式 也有很多种,如 XML、JSON 、二进制、HTML等 。ESB要完成这么多协议和数据格式的互相转换,工作量和复杂度都很大,而且这种转换是需要耗费大量计算性能的,当ESB承载的消息太多时,ESB本身会成为整个系统的性能瓶颈

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

架构师修炼系列【SOA架构】

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » 架构师修炼系列【SOA架构】
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏