微服务架构中会存在那些问题01|学习笔记

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 快速学习微服务架构中会存在那些问题01

开发者学堂课程【精通Spring Cloud Alibaba:微服务架构中会存在那些问题01】学习笔记,与课程紧密联系,让用户快速学习知识。

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


微服务架构中会存在那些问题01

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 架构模式,更加适合于互联网公司敏捷,高效,快速迭代版本开发,因为粒度非常精细。所以会发现在微服务架构当中最大的优势就是能够快速迭代版本,假设有时候自己想做的情况下,单独做个服务就可以了,与之前的无关联,单独的数据库完全是不受任何影响的。

相关文章
|
22小时前
|
监控 持续交付 Docker
使用Docker进行微服务架构的最佳实践
【5月更文挑战第10天】本文探讨了使用Docker实施微服务架构的最佳实践。首先,理解微服务架构是拆分小型独立服务的模式,借助Docker实现快速部署、高可移植性和环境一致性。Docker的优势在于服务扩展、容器编排、自动化构建与部署。最佳实践包括:定义清晰服务边界,使用Dockerfile和Docker Compose自动化构建,利用Docker Swarm或Kubernetes编排,实施服务发现和负载均衡,监控与日志记录,以及持续集成和持续部署。Docker虽重要,但需与其他技术结合以确保系统整体稳定性。
|
22小时前
|
缓存 负载均衡 API
微服务架构下的API网关性能优化实践
【5月更文挑战第10天】在微服务架构中,API网关作为前端和后端服务之间的关键枢纽,其性能直接影响到整个系统的响应速度和稳定性。本文将探讨在高并发场景下,如何通过缓存策略、负载均衡、异步处理等技术手段对API网关进行性能优化,以确保用户体验和服务的可靠性。
|
1天前
|
存储 监控 API
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第9天】 在本文中,我们将深入探讨如何在后端开发中构建一个高效的微服务架构。通过分析不同的设计模式和最佳实践,我们将展示如何提升系统的可扩展性、弹性和维护性。我们还将讨论微服务架构在处理复杂业务逻辑和高并发场景下的优势。最后,我们将分享一些实用的工具和技术,以帮助开发者实现这一目标。
|
1天前
|
负载均衡 算法 NoSQL
探索微服务架构下的服务发现与治理
【5月更文挑战第9天】 在当今的软件开发领域,微服务架构已成为构建可伸缩、灵活且容错的系统的首选模式。随着服务的增多,如何有效地进行服务发现与治理成为了关键的挑战。本文将深入探讨微服务环境中服务发现的机制和治理策略,分析不同服务发现工具的优缺点,并提出一种基于一致性哈希和健康检查相结合的服务治理方案,旨在提高系统的可用性和性能。
|
2天前
|
监控 API 持续交付
构建高效可靠的微服务架构:策略与实践
【5月更文挑战第8天】在当今快速演进的软件开发领域,微服务架构已经成为实现敏捷开发、持续交付和系统弹性的关键模式。本文将探讨构建一个高效且可靠的微服务系统所必须的策略和最佳实践。我们将从服务的划分与设计原则出发,讨论如何通过容器化、服务发现、API网关以及断路器模式来优化系统的可伸缩性和鲁棒性。此外,我们还将涉及监控、日志管理以及CI/CD流程在确保微服务架构稳定运行中的作用。
|
2天前
|
消息中间件 Java 微服务
Java微服务架构实践指南
Java微服务架构实践指南
12 0
|
2天前
|
Kubernetes 持续交付 开发者
构建高效微服务架构:后端开发的新趋势
【5月更文挑战第8天】 随着现代软件开发的不断演进,微服务架构已成为众多企业解决复杂系统问题的首选方案。本文深入探讨了微服务架构的核心概念、设计原则以及实施策略,旨在为后端开发者提供一种清晰、高效的技术路径。通过分析微服务的优势与挑战,结合具体的应用实例,文章将展示如何通过容器化、服务网格和持续集成/持续部署(CI/CD)等先进技术手段,实现后端服务的高可用性、可扩展性和敏捷性。
|
2天前
|
消息中间件 监控 Java
构建高效微服务架构:后端开发的新趋势
【5月更文挑战第8天】随着现代软件开发的复杂性日益增加,传统的单体应用架构逐渐难以满足快速迭代和灵活部署的需求。微服务架构作为一种新的解决方案,以其模块化、独立性强和易于扩展的特点,正在成为后端开发领域的重要趋势。本文将深入探讨如何构建一个高效的微服务架构,并分析其对后端开发实践的影响。
|
2天前
|
敏捷开发 持续交付 API
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第8天】 在数字化转型的浪潮中,微服务架构已成为企业追求敏捷开发、持续交付和系统弹性的关键解决方案。本文将深入探讨微服务的核心概念,包括其设计原则、优缺点以及如何在后端开发中实现高效的微服务架构。我们将通过实际案例分析,展示微服务如何帮助企业快速适应市场变化,同时保持系统的可维护性和扩展性。
|
2天前
|
API 持续交付 开发者
构建高效微服务架构:后端开发的新视角
【5月更文挑战第8天】 随着现代软件开发的演变,微服务架构已经成为了企业追求敏捷、可扩展和灵活部署的重要解决方案。本文将深入探讨如何构建一个高效的微服务架构,包括关键的设计原则、技术栈选择以及持续集成与部署的最佳实践。我们还将讨论微服务带来的挑战,如数据一致性、服务发现和网络延迟,并提出相应的解决策略。通过本文,后端开发者将获得构建和维护微服务系统所需的深度知识,并了解如何在不断变化的技术环境中保持系统的健壮性和可维护性。
34 8