开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(六)

本文涉及的产品
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: Spring Cloud微服务架构设计与开发实战课时1.6—微服务架构常用RPC协议 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!

哈喽各位同学们大家好呀,小编今天带着开发者学院中课程微服务架构常用RPC协议”干货总结来了~一起学习新课程吧!

课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇

课程名称:微服务架构常用RPC协议

课程地址:https://developer.aliyun.com/learning/course/60/detail/1109

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java


微服务架构常用RPC协议


一、微服务常用的通信模式 

1微服务的消息通信模式 

消息交换的模式有很多种,使用较多的是同步消息的交互模式,典型特征发送完消息后会等待一个结果 

浏览器发送一个网页请求后会等待网页返回,中间存在请求应答的过程,这就属于同步请求的模式。 

image.png 

异步请求模式的常见场景是消息推送,发送完某个消息后,这个消息并不会立即到达,可能会经过一定延迟才到达接收方异步模式的优点并发吞吐量较高缺点无法保证消息的实时性 

目前在分布式架构上,同步与异步相结合的消息交换场景也很常见。 

协议上绝大部分都是同步模式,个别支持异步例如邮件协议或者消息协议 

 

 

二、经典的RPC协议  

image.png 

上图是在分布系统中常用的一些RPC协议RPC本身远程过程调用主要解决远程的通信问题不仅是封装原始的数据通信协议网络协议 

基础上,需要借助某些框架语言来实现功能的交互。例如,希望客户端通过调用服务器端的某个订单或者加密的功能,实现远程的功能调用 

通过网络来暴露自己代码功能较早的一种方式RPC协议非常多,不仅REST API,APP协议暴露接口,前端分裂架构基本上都是API加前端小程序APPPC网页这种模式是在移动互联网时代用得较多的架构 

前端分离,后端演化成微服务架构微服务架构一般和业务模式有关业务需求是第一位技术服务于业务。在内部通信领域并非只有一种协议可能多种协议并存TCPUDPHTTP协议并存。 

Rest API基本上走的APP协议一般是接收数据格式在这个领域里面RPC概念native本身也支持分布式通信框架但是相对来说在大规模分布式集群治理领域阿里的Dubbo设计非常优秀,不断迭代,表现优异 

数据库JDBC属于分布式通信解决方案之一通信协议是GDB框架定义专有的协议格式,支持引入中间消息队列等,使用不同的协议进行通信。 

这并非表示跨平台是最优秀的,它的性能越好,安全性越可能越。但是它开放性标准化有助于大范围的行业推广,适用性更强。有些公司的协议不开放这是由于公司的业务角度来说微服务属于分布式架构 

分布架构继承了早期的分布式框架特点,RVICES API这些应用基础上进行了架构的升级改造,在大规模的服务接口集群化治走向了更高的层次,架构师面临挑战也更大。 

 

三、微服务常用的通信协议 

1微服务之间的通信协议与框架中间件 

image.png 

目前,微服务Spring Cloud开发为代表,选取的是 Rest通信接口格式,后续的微服框架可能更多,有些微服务支持更多的协议数据格式目前主流的是HTTP,属于同步消息通模式H5websocket 

当下的移动互联网时代大部分追求轻量级接口目前的框架Rest APIJavaGo还是node都非常方便可以直接在APP协议站基础上进行扩展。 

不同语言的REST框架基本WEB框架改造,再加一层数据序列化反序列化即可满足大部分场景需求。因为对于绝大部分前APP来说,数据格式基本主要的那些格式,没有复杂的路由策略早期已经具备了基础的接口开发框架,但是还不具备整体性复杂的架构层级的微服务架构风格 

消息队列在早期分布式架构中经常使用比较经典的是RabbitMQ兔子消息队KafkaRocketMQ火箭消息Kafka消息并发量吞吐量能达到百万级别 

对于全新的微服加工来说可能会存在几种协议,有同步异步和两种形式并存,也有可能是使用APP协议或其他的TCP或者二进制等相关协议这几种协议经典且各有所长 

在物联网行业存在特殊情况,可能进行对接时候,设备可能还有自己的数据协议但是每个分布式框架底层可能支持一种协议或者多种协议 

 

相关文章
|
16天前
|
API 持续交付 开发者
后端开发中的微服务架构实践与挑战
在数字化时代,后端服务的构建和管理变得日益复杂。本文将深入探讨微服务架构在后端开发中的应用,分析其在提高系统可扩展性、灵活性和可维护性方面的优势,同时讨论实施微服务时面临的挑战,如服务拆分、数据一致性和部署复杂性等。通过实际案例分析,本文旨在为开发者提供微服务架构的实用见解和解决策略。
|
7天前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
18 2
|
9天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
38 3
|
10天前
|
监控 API 持续交付
后端开发中的微服务架构实践与挑战####
本文深入探讨了微服务架构在后端开发中的应用,分析了其优势、面临的挑战以及最佳实践策略。不同于传统的单体应用,微服务通过细粒度的服务划分促进了系统的可维护性、可扩展性和敏捷性。文章首先概述了微服务的核心概念及其与传统架构的区别,随后详细阐述了构建微服务时需考虑的关键技术要素,如服务发现、API网关、容器化部署及持续集成/持续部署(CI/CD)流程。此外,还讨论了微服务实施过程中常见的问题,如服务间通信复杂度增加、数据一致性保障等,并提供了相应的解决方案和优化建议。总之,本文旨在为开发者提供一份关于如何在现代后端系统中有效采用和优化微服务架构的实用指南。 ####
|
12天前
|
消息中间件 设计模式 运维
后端开发中的微服务架构实践与挑战####
本文深入探讨了微服务架构在现代后端开发中的应用,通过实际案例分析,揭示了其在提升系统灵活性、可扩展性及促进技术创新方面的显著优势。同时,文章也未回避微服务实施过程中面临的挑战,如服务间通信复杂性、数据一致性保障及部署运维难度增加等问题,并基于实践经验提出了一系列应对策略,为开发者在构建高效、稳定的微服务平台时提供有价值的参考。 ####
|
12天前
|
消息中间件 监控 数据管理
后端开发中的微服务架构实践与挑战####
【10月更文挑战第29天】 在当今快速发展的软件开发领域,微服务架构已成为构建高效、可扩展和易于维护应用程序的首选方案。本文探讨了微服务架构的核心概念、实施策略以及面临的主要挑战,旨在为开发者提供一份实用的指南,帮助他们在项目中成功应用微服务架构。通过具体案例分析,我们将深入了解如何克服服务划分、数据管理、通信机制等关键问题,以实现系统的高可用性和高性能。 --- ###
36 2
|
17天前
|
运维 NoSQL Java
后端架构演进:微服务架构的优缺点与实战案例分析
【10月更文挑战第28天】本文探讨了微服务架构与单体架构的优缺点,并通过实战案例分析了微服务架构在实际应用中的表现。微服务架构具有高内聚、低耦合、独立部署等优势,但也面临分布式系统的复杂性和较高的运维成本。通过某电商平台的实际案例,展示了微服务架构在提升系统性能和团队协作效率方面的显著效果,同时也指出了其带来的挑战。
55 4
|
22天前
|
缓存 运维 监控
后端开发中的微服务架构实践与挑战#### 一、
【10月更文挑战第22天】 本文探讨了微服务架构在后端开发中的应用实践,深入剖析了其核心优势、常见挑战及应对策略。传统后端架构难以满足快速迭代与高可用性需求,而微服务通过服务拆分与独立部署,显著提升了系统的灵活性和可维护性。文章指出,实施微服务需关注服务划分的合理性、通信机制的选择及数据一致性等问题。以电商系统为例,详细阐述了微服务改造过程,包括用户、订单、商品等服务的拆分与交互。最终强调,微服务虽优势明显,但落地需谨慎规划,持续优化。 #### 二、
|
21天前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
51 1
|
25天前
|
运维 监控 API
后端开发中的微服务架构实践与挑战####
【10月更文挑战第19天】 本文将深入浅出地探讨微服务架构在后端开发中的应用,通过实例解析其核心理念、优势所在,以及实施过程中可能遭遇的挑战与应对策略。不同于传统单体应用,微服务以其轻量级、灵活性和可扩展性受到青睐,但同时也带来了服务间的通信复杂性、数据一致性等问题。通过本篇文章,读者将对微服务架构有一个全面而深入的理解,为实际项目中的选型与实施提供参考。 ####