微服务架构的常用 RPC 协议 | 学习笔记

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 快速学习微服务架构的常用 RPC 协议 。

开发者学堂课程【Spring Cloud 微服务架构设计与开发实战 微服务架构的常用 RPC 协议】学习笔记,与课程紧密联系,让用户快速学习知识。

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


微服务架构的常用 RPC 协议

 

内容介绍:

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

二、经典的 RPC 协议

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

 

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

image.png

1.同步

2.异步

比较多的说消息推送,发送完某个消息以后实际这个消息并不一定立即到达可能会经过一段时间的延迟才到达接收方。通过聊天工具发一条消息。

这种消息的发送实际经过消息的中间服务器进行转发这个转发的过程并不是同步模式一般采用的,是业务模式,采用这种异步模式带来一个好处,一般这种系统的吞吐量相对来说比较高一点,缺点也同样存在,缺点是没法保证消息的一个及时性

3.混合

既存在同步也存在异步消息交换模式,一般情况下,协议基本上绝大部分都是同模式,个别协议在协议层次上,可能是支持异步,比如说邮件协议,或者消息消息协议,学习协议层支持异步模式

 

二,经典的 RPC 协议

1.HTTP/REST(synchronous)

2.TCP

3.UDP

4.Dubbo

5. Netty

6. RMI

7. Hessian

8. gRPC

9.Webservice SOAP

10.Thrift

11.Memcached

12. Redis

13.AMQP (asynchronous)

14.MQTT

image.png

 

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

1.同步调用

l HTTP/REST(synchronous)

l REST(http,websocket, JAX-RS,Spring Boot,node.js,Web API)

REST 这种框架基本上是外部框架改造,再加一层数据序列化,反序列化,

l RPC(Netty,Dubbo,Thrift,gRPC)

其他的这种框架,也可能采用不同的,像 Dubbo 或者 Netty 的支持各种不同的这种协议。不仅可以开发 Rest,也能开发其他的各种这种接口,或者自定义协议,

2.异步调用

l AMQP(asynchronous)

l 消息队列(ActiveMQRabbitMQ,Kafka, RocketMQ, Notify, MetaQ)

消息队列,在早期是经常使用的经典的一个就是 RabbitMQ,还有就是 RocketMQ 消息并发量可以达到百万级别

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
2月前
|
Dubbo Cloud Native 网络协议
【Dubbo3技术专题】「服务架构体系」第一章之Dubbo3新特性要点之RPC协议分析介绍
【Dubbo3技术专题】「服务架构体系」第一章之Dubbo3新特性要点之RPC协议分析介绍
38 1
|
2月前
|
设计模式 负载均衡 网络协议
【分布式技术专题】「分布式技术架构」实践见真知,手把手教你如何实现一个属于自己的RPC框架(架构技术引导篇)
【分布式技术专题】「分布式技术架构」实践见真知,手把手教你如何实现一个属于自己的RPC框架(架构技术引导篇)
50 0
|
2月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
108 0
|
2月前
|
存储 监控 安全
金石推荐 | 【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
金石推荐 | 【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
72 1
|
2月前
|
Java fastjson 数据安全/隐私保护
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
40 0
|
2月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
68 1
|
2月前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
215 0
|
2月前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
786 0
|
2月前
|
SpringCloudAlibaba Java 测试技术
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
43 1
|
2月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(五)OpenFeign的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(五)OpenFeign的使用
45 0