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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 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或者二进制等相关协议这几种协议经典且各有所长 

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

 

相关文章
|
8天前
|
Cloud Native Java 对象存储
面向未来的架构设计:Spring Cloud和Netflix OSS在云原生环境下的发展趋势
展望未来,随着5G、边缘计算等新技术的兴起,微服务架构的设计理念将会更加深入人心,Spring Cloud和Netflix OSS也将继续引领技术潮流,为企业带来更为高效、灵活且强大的解决方案。无论是对于初创公司还是大型企业而言,掌握这些前沿技术都将是在激烈市场竞争中脱颖而出的关键所在。
22 0
|
8天前
|
Java 对象存储 开发者
解析Spring Cloud与Netflix OSS:微服务架构中的左右手如何协同作战
Spring Cloud与Netflix OSS不仅是现代微服务架构中不可或缺的一部分,它们还通过不断的技术创新和社区贡献推动了整个行业的发展。无论是对于初创企业还是大型组织来说,掌握并合理运用这两套工具,都能极大地提升软件系统的灵活性、可扩展性以及整体性能。随着云计算和容器化技术的进一步普及,Spring Cloud与Netflix OSS将继续引领微服务技术的发展潮流。
21 0
|
19天前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
174 37
|
6天前
|
设计模式 负载均衡 监控
深入理解后端开发中的微服务架构
在现代软件开发领域,微服务架构已经成为一种流行的设计模式。本文将探讨微服务的基本概念、优势与挑战,并通过实例展示如何在实际项目中应用微服务架构。无论是初学者还是经验丰富的开发者,都能从中获得启发和实用技巧。
19 7
|
7天前
|
负载均衡 Java 网络架构
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
20 5
|
17天前
|
设计模式 架构师 Java
Java开发工程师转架构师需要学习什么
Java开发工程师转型为架构师需掌握多项技能:精通Java及框架、数据库与分布式系统;熟悉设计模式与架构模式;积累项目经验;提升沟通与领导力;持续学习新技术;培养系统设计与抽象能力;了解中间件及开发工具;并注重个人特质与职业发展。具体路径应结合个人目标与实际情况制定。
42 18
|
7天前
|
存储 运维 负载均衡
后端开发中的微服务架构实践与思考
本文旨在探讨后端开发中微服务架构的应用及其带来的优势与挑战。通过分析实际案例,揭示如何有效地实施微服务架构以提高系统的可维护性和扩展性。同时,文章也讨论了在采用微服务过程中需要注意的问题和解决方案。
|
9天前
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
527 8
|
6天前
|
前端开发 API 微服务
SpringCloud微服务之间使用Feign调用不通情况举例
SpringCloud微服务之间使用Feign调用不通情况举例
26 2
|
9天前
|
Java API 对象存储
微服务魔法启动!Spring Cloud与Netflix OSS联手,零基础也能创造服务奇迹!
这段内容介绍了如何使用Spring Cloud和Netflix OSS构建微服务架构。首先,基于Spring Boot创建项目并添加Spring Cloud依赖项。接着配置Eureka服务器实现服务发现,然后创建REST控制器作为API入口。为提高服务稳定性,利用Hystrix实现断路器模式。最后,在启动类中启用Eureka客户端功能。此外,还可集成其他Netflix OSS组件以增强系统功能。通过这些步骤,开发者可以更高效地构建稳定且可扩展的微服务系统。
24 1
下一篇
无影云桌面