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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 快速学习微服务架构与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 架构模式,更加适合于互联网公司敏捷,高效,快速迭代版本开发,因为粒度非常精细。

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

相关文章
|
1天前
|
监控 Cloud Native 开发者
云原生技术浪潮下的微服务架构实践
云原生技术正引领着现代软件开发的潮流,其中微服务架构作为其核心理念之一,为复杂应用提供了灵活、可扩展的解决方案。本文将探讨在云原生环境下实施微服务架构的策略和挑战,并结合实际案例分析微服务设计的最佳实践,旨在为开发者提供一套可行的微服务部署与管理指南。
|
1天前
|
消息中间件 监控 API
构建微服务架构:从理论到实践的全面指南
本文将深入探讨微服务架构的设计原则、实施步骤和面临的挑战。与传统的单体架构相比,微服务通过其独立性、可伸缩性和灵活性,为现代应用开发提供了新的视角。文章将介绍如何从零开始规划和部署一个微服务系统,包括选择合适的技术栈、处理数据一致性问题以及实现服务间通信。此外,我们还将讨论在迁移至微服务架构过程中可能遇到的技术和组织挑战,以及如何克服这些难题以实现顺利过渡。
|
2天前
|
监控 数据管理 API
探索微服务架构中的后端设计最佳实践
在当今快速发展的技术世界中,微服务架构已经成为开发大型复杂系统的一种标准方法。本篇文章将深入探讨微服务架构在后端设计中的最佳实践,涵盖服务拆分、API设计、数据管理及监控和调试等方面,帮助开发者在实际项目中应用这些原则,以构建高性能、可扩展且易于维护的系统。
11 0
|
2天前
|
监控 负载均衡 持续交付
深入理解微服务架构及其在现代后端开发中的应用
本文将深入探讨微服务架构的核心概念、设计原则和实施挑战,并分析其在现代后端开发中的实际应用。通过比较传统单体应用与微服务的优劣,揭示微服务如何助力于系统的可扩展性、灵活性和持续部署。此外,文章还将讨论微服务实施过程中的常见问题及解决方案,为后端开发者提供实践指导。
|
2天前
|
存储 负载均衡 监控
探索微服务架构中的服务发现机制
在微服务架构的海洋中,服务发现宛如星辰导航,为服务的交互提供精准定位。本文将深入探讨服务发现的奥秘,从基本原理到实践应用,揭示其对微服务生态的重要性及实现方式,带领读者领略服务发现在现代软件工程中的魅力与挑战。
|
2天前
|
消息中间件 运维 监控
微服务架构中的服务通信与数据一致性挑战
在微服务架构的海洋中,服务之间的通信和数据一致性问题犹如潜藏的暗礁和漩涡,随时可能威胁到整个应用的健康运行。本文将深入探讨微服务间通信机制的选择、数据一致性维护的策略,以及面对网络延迟和分区容忍性时如何保持系统的灵活性和健壮性。通过分析常见的模式和最佳实践,旨在为开发者提供一套应对这些挑战的航海图。
|
2天前
|
负载均衡 监控 应用服务中间件
微服务架构下的API网关设计与实践
【6月更文挑战第11天】在现代软件开发中,微服务架构因其灵活性和可扩展性而受到青睐。作为微服务系统的入口,API网关承担着请求路由、负载均衡、安全认证等关键职责。本文将深入探讨API网关的设计要点与实践策略,旨在为读者提供构建高效、稳定API网关的实用指南。
|
6天前
|
消息中间件 负载均衡 Java
Java一分钟之-Spring Cloud:微服务架构工具集
【6月更文挑战第8天】本文介绍了Spring Cloud的核心组件,包括Eureka(服务注册与发现)、Ribbon(客户端负载均衡)、Zuul(API网关)、Hystrix(断路器)、Spring Cloud Config(配置中心)和Spring Cloud Bus(事件总线)。文中强调了各组件的易错点,如Eureka的服务注册失败、Ribbon的配置、Zuul的路由错误、Hystrix的启用及配置、Config Server的加载失败和Bus的通讯问题,并给出了相应的代码示例和解决建议。在实际开发中,关注日志和使用调试工具是保证微服务系统稳定运行的关键。
86 6
|
3天前
|
监控 应用服务中间件 API
深入理解微服务架构中的API网关
在现代后端开发中,微服务架构已经成为主流选择,而API网关作为其关键组件之一,起到了不可替代的作用。本文将深入探讨API网关的基本概念、功能、常见实现方式以及在微服务架构中的重要性。通过实际案例和技术细节,帮助你全面了解如何有效地利用API网关来提升系统的性能与安全性。
|
3天前
|
监控 负载均衡 安全
探索微服务架构中的API网关模式
【6月更文挑战第10天】本文将深入探讨微服务架构中的一个重要组件——API网关。我们将详细分析API网关的功能、优势以及在微服务架构中的关键作用,并通过实例展示如何有效实现和部署API网关以提升系统性能和安全性。
19 2