soa架构和微服务架构怎么融合(SOA架构-微服务架构)
全称(Service Oriented Architecture)—— 面向服务的架构。
面向服务架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过在这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
跟 SOA 相提并论的还有一个 ESB(企业服务总线),简单来说 ESB 就是一根管道,用来连接各个服务节点。为了集成不同系统,不同协议的服务,ESB 做了消息的转化解释和路由工作,让不同的服务互联互通。
SOA 解决的问题:
1.系统集成
企业系统不断发展过程中,会存在N多系统间相互调用,系统间的关系可能会是一个比较杂乱的网状结构。引入SOA来完成服务之间关系的有序化,这一步需要引入一些产品,比如 ESB、以及技术规范、服务管理规范
2.系统服务化
完成服务的复用。比如之前可能是 各个系统都写了一套登录注册、发邮件、发短信等功能。现在可以将 登录注册、发邮件、发短信等功能逻辑抽象成可复用、可组装的服务,通过合理的服务编排,实现业务功能的快速复用。
3.业务服务化
完成企业系统的对外服务能力。将业务单元(如:OA系统、财务系统等)封装成一项服务。
微服务架构微服务架构和SOA架构是相似的,微服务架构算是在SOA架构上的一次升级。微服务架构的重点是“业务彻底的组件化和业务化”。原有的单体大而全的应用拆分成多个独立运行的小应用。当然,也不需要为了微服务而微服务,也需要考虑系统的量级。比如公司只有一个财务系统,其中有登录注册、发邮件、发短信、文件上传等功能,没有其他系统需要复用这些功能,使用人数只有几百人。那么一个大而全的单体应用就可以满足了。 企业发展过程中,没有倒闭,而且蓬勃发展了一把。一个简单的财务系统不能满足需求了,CRM、OA等等功能也不适合塞在那个大而全的财务系统里了。这个时候就可以闭着眼睛拆一把服务了。拆分成 财务系统、CRM、OA、登录注册、发邮件、发短信、文件服务等系统。
微服务的特征有几点:
1. 实现服务组件化
不同的组件之间相互独立,服务的发布一般不需要协调各个组件。
2. 按照业务划分服务和开发团队
不同的开发团队可以选择不同的技术、语言等
3. 去中心化
进一步降低了微服务之间的耦合度,在复杂的业务场景下,涉及多个微服务,通常在客户端或者中间层(网关)处理。
每个微服务拥有自己独立的数据库或者其他持久化能力。
4. 基础设施自动化(devops、CICD)
Docker 和 微服务相互成就。Docker 容器技术、微服务架构概念出现的时间都是比较早的。不过也是近些年才开始火起来的。Docker 容器技术的普及使得微服务的普及更加方便。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com