微服务与SOA:架构对比与协同
1. 什么是SOA
SOA(面向服务的架构)是一种战略性举措,旨在将公司的整个IT系统拆分为独立的服务。引入SOA是一个涉及不同团队的战略行动,其最终目标是将公司的整个IT系统拆分为独立的服务。一旦拆分完成,这些服务可以以新的、不同的方式进行组合,从而创建新的功能和流程。然而,这只有在整个组织的所有系统都进行了修改之后才有可能实现。只有当有足够的服务可用时,业务流程才能通过简单的编排来实际实现。此时,SOA的优势才会真正显现出来。
因此,必须在整个IT系统中使用集成和编排技术,以实现服务之间的通信和集成。这涉及到高昂的投资成本,因为整个IT格局都需要改变,这也是SOA受到批评的主要原因之一。
SOA服务可以通过互联网或专用网络提供给其他公司和用户,这使得SOA非常适合支持基于服务外包或包含外部服务的业务概念。例如,在电子商务应用中,外部供应商可以提供简单的服务(如地址验证)或复杂的服务(如信用检查)。
在基于旧系统引入SOA时,SOA服务通常是大型部署单体的接口。一个单体可以提供多个服务,这些服务建立在现有应用程序之上。通常,为了提供这些服务,甚至不需要调整系统的内部结构。这种服务通常没有用户界面(UI),而是只为其他应用程序提供接口。UI存在于所有系统中,但它不是服务的一部分,而是独立的,例如在门户中。
此外,在SOA中也可以实现较小的部署单元。SOA服务的定义并不限制部署单元的大小,这与微服务不同,微服务中部署单元的大小是一个定义性特征。
1.1 接口与版本控制
SOA中的服务版本控制是一个特别的挑战。服务的更改必须与相应服务的用户进行协调。由于这种协调要求,对
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



