《企业IT架构转型之道》随笔之SOA、ESB、微服务、API网关(2019-08-07)

《企业IT架构转型之道》随笔之SOA、ESB、微服务、API网关(2019-08-07)

作者在本章中提到的“烟筒式”系统建设模式,在目前大部分公司起步的时候都会出现。目前笔者已经经历了三家公司,排除第一家半年的外包公司不谈,第二三家公司都在发展的初期出现了“烟筒”设计。当然,“烟筒”规模比文章中提到要小得多,基本上一个大模块是一个烟筒。比如,机票的订单存在国际和国内两部分系统,两部分系统都有相对独立的订单处理系统。现在想来,非常遗憾的是当时因为业务的压力无法驱动项目组整合订单模块,使其微服务化。

名词注释

  1. SOA:Service-Oriented Architecture,面向服务架构。一种组件模型,本质上是一种策略、思想。它将应用按照功能拆分,并且通过定义接口和契约相互联系协作,最终提供松散耦合的应用集合。一般SOA的实现中都会有一个服务总线的概念,介于服务者和客户端之间,可以将消费者的消息做转换并且发送给适当的服务者。WSDL,UDDI和SOAP是SOA基础的基础部件,WSDL用来描述服务,UDDI用来注册服务,SOAP作为传输层,用来在消费者和服务提供者之间传送消息。webserver型架构是典型的SOA架构
  2. ESB:企业服务总线。如果将ESB和SOA联系在一起来看,ESB就是在SOA架构中实现服务间智能化集成与管理的中介,ESB是SOA中一个非常重要的集成层组件
  3. 松耦合接口:没有将接口的对接强制绑定到特定的实现上
  4. MSA:简称微服务。笔者认为MSA是SOA的一种进化,但是还没有达到完全超脱的程度。两者相对来讲,SOA更像一种一种粗粒度上的定义,MSA更像一种比较现代化的细粒度的SOA实现方式。它是一种彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成
  5. API网关:主要用于微服务,是SOA中ESB的进化。API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务。相对于ESB,同样是作为消费者和服务者的管理角色,因为出生的年代较早,为了兼容各个团队使用的各个协议,ESB强调的是协议兼容(通过契约约定)以及消息转换;API网关则伴随着MAS一起出现,这时候高并发、服务可用性的诉求使其强调的是高性能、高可用。
  6. RPC服务:Remote Procedure Call Protocol,中文释义为远程过程调用协议

为什么会进化

笔者认为架构或者技术的进步基本上都是因为业务的痛点或者人类的懒惰。SOA的提出虽然很好解决了企业中重复功能建设、协作成本高、难以拥抱新的变化等问题,但是因为概念提出的年代属于互联网发展的初期,SOA更关注于拆分整合兼容,而随着互联网的发展,高速的业务发展和用户体验的提出,使变化、高性能成为了主题,而这些特性正是SOA没有关注到的,而微服务概念的出现,降低了接口变化的修改成本,将高性能、高可用的大部分解决方案在API网关层封装,并且因为服务属于独立开发、设计、运行,使得服务更方便开发、升级,方便废弃,并且小服务的开发、维护成本低,使得企业试错的成本大大降低,更方便拓展业务。可以说,微服务的出现,使得公司的运营、管理更轻快,在如今快速变化的互联网浪潮中,使得企业更灵活的适应大环境的快速变化。

展望

笔者认为,架构永远在发展,微服务并不是终点,虽然微服务的出现解决了企业很多痛点,但是也将服务化弊病爆发了出来。微服务的特性是彻底的组件化和服务化,细小的服务组合成一个完成的业务功能。对于核心的服务,比如大量的业务功能都会使用用户中心提供的服务,这就造成了用户中心的服务更新换代困难。我们无法保证核心服务具有很高的前瞻性,一旦必须升级更换,那么引发的变动是灾难性的,而且其他团队出于各种时间、工作量、KPI等现实问题,整个更新换代的周期会变的很长,甚至无法完成。这与积极拥抱变化是背道而驰的。笔者认为,未来肯定会出现新的中间层,专门负责这种服务升级换代的问题处理,它也许就会诞生在你我的手中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值