微服务架构与SOA架构模式实现区别|学习笔记

简介: 快速学习微服务架构与SOA架构模式实现区别

开发者学堂课程【精通Spring Cloud Alibaba:微服务架构与SOA架构模式实现区别】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/634/detail/10057


微服务架构与 SOA 架构模式实现区别

SOA 架构与微服务架构的区别

1.通讯协议

2.服务拆分粒度

3.专业度

4.迭代


第一点:

微服务架构基于 SOA 架构模式演变过来,继承 SOA 架构优点,在微服务架构中去除 SOA 架构中 SOAP 协议和 ESP 企业服务总线。改为 Http+JSON 形式传输我们的接口。

ESB 企业服务总线:

解决多系统之间跨语言无法实现通讯的问题,对我们数据协议实现转换,可以提供可靠的消息传输,第三方框架实现。

例如:

比如 JAVA 和 Python 之间语言是不可以通讯的,所以就可以用 ESB 企业服务总线,可以帮助解决语言之间不可以通讯的问题。

就是对于数据格式的一种转换,然后让原来明明不能传输的语言现在可以传输,原来不可以使用通讯而现在可以使用通讯。Http+JSON 形式本身就可以实现跨语言通讯了,那么 ESB 企业服务总线是没有必要的是没有意义的。

一般情况下都是采用 Http+JSON 格式传输,因为 Http+JSON 格式本身就可以实现跨语言传输了,所以是完全没有必要使用 ESB 企业服务总线。

这就是第一点通讯协议之间的区别。


第二点:服务拆分粒度:

有的公司对于服务拆分粒度是很精细的,最开始,一般公司就是搞一些会员服务,然后再拆为登陆服务,注册服务,再搞一个会员服务接口,在有些情况下,它的服务拆分粒度非常精细。但是有的会觉得这样细会很乱,这都是看公司的。

在大公司的登陆并不是简单的一件事,有很多登陆会很复杂,会有很多种登陆,会有一两个工作人员专门维护登陆。具体的还是要看公司具体场景,有的会将会员服务和注册服务放在一起。

在微服务中提倡的是独立,因为登陆本身和会员是没有什么关系的。

微服务架构模式比 SOA 架构模式粒度更加精细,提倡让专业的人去做专业的事,没有底是实现高效的开发,每个服务于服务之间都互不影响,每个服务都是单独独立的数据库,Redis 连接,MQ 等这样才会做到互不影响,如果每个服务用的是相同的数据库的话,命名的时候会乱。

并且都是实现独立部署,整个微服务架构更加轻巧,轻量级。在 SOA 架构中有可能出现多个服务共享同一个数据库,但是微服务架构必须强调每个服务都必须是独立的数据库,互不影响。


第三点:

迭代版本:微服务的架构模式比 SOA 架构模式,更加适合于互联网公司敏捷,高效,快速迭代版本开发,因为粒度非常精细。

所以会发现在微服务架构当中最大的优势就是能够快速迭代版本,假设有时候自己想做的情况下,单独做个服务就可以了,与之前的无关联,单独的数据库完全是不受任何影响的。

相关文章
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
1023 6
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
568 1
|
自然语言处理 JavaScript Java
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
1615 81
|
运维 监控 持续交付
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
4014 37
微服务架构解析:跨越传统架构的技术革命
|
人工智能 前端开发 Java
DDD四层架构和MVC三层架构的个人理解和学习笔记
领域驱动设计(DDD)是一种以业务为核心的设计方法,与传统MVC架构不同,DDD将业务逻辑拆分为应用层和领域层,更关注业务领域而非数据库设计。其四层架构包括:Interface(接口层)、Application(应用层)、Domain(领域层)和Infrastructure(基础层)。各层职责分明,避免跨层调用,确保业务逻辑清晰。代码实现中,通过DTO、Entity、DO等对象的转换,结合ProtoBuf协议,完成请求与响应的处理流程。为提高复用性,实际项目中可增加Common层存放公共依赖。DDD强调从业务出发设计软件,适应复杂业务场景,是微服务架构的重要设计思想。
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器ECS架构区别及选择参考:X86计算、ARM计算等架构介绍
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别,本文主要简单介绍下这些架构各自的主要性能及适用场景,以便大家了解不同类型的架构有何不同,主要特点及适用场景有哪些。
2370 10
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。
1536 7
|
架构师 中间件 API
微服务和 SOA 的 6 大核心区别,你都知道吗?
本文详解SOA与微服务的六大区别,帮助更好地理解和应用这两种架构,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
微服务和 SOA 的 6 大核心区别,你都知道吗?
|
前端开发 测试技术 数据库
DDD架构中assembler和converter的区别
在 DDD 四层架构模式中,assembler 和 converter 常用于对象转换,但两者在实际项目中的使用较为随意。本文从英文释义、语义区分和模型层区分三个方面探讨了两者的区别,建议按模型层区分,即 Interface 和 Application 层使用 assembler,Infrastructure 层使用 converter,以避免混淆和随意使用。此外,将转换代码抽离为独立方法有助于保持代码整洁和可测试性。
|
微服务
微服务与SOA区别
微服务与SOA区别
258 0
微服务与SOA区别