RSocket——Http协议的替代者

RSocket是一种二进制的点对点通信协议,作为HTTP的替代者,支持异步、背压处理和多种交互模型,如Fire-and-Forget、Request/Response、Request/Stream和Channel。该协议由Facebook、Netifi和Pivotal等开发,适用于分布式应用程序,并得到Spring等框架的支持。尽管学习曲线较陡,但随着响应式编程的普及,RSocket的前景广阔。
摘要由CSDN通过智能技术生成

[图片上传失败...(image-497698-1649491648336)]

1. 简介

RSocket是一种二进制的点对点通信协议,是一种新的网络通信第七层协议。旨在用于分布式应用程序中。从这个意义上讲,RSocket是HTTP等其他协议的替代方案。它是一种基于Reactive Streams规范具有异步,背压的双向,多路复用,断线重连,基于消息等特性。它由Facebook,Netifi和Pivotal等工程师开发,提供Java,JavaScript,C 和Kotlin等实现。

2. 背景

说到这里就有一些疑问了,为什么要搞这个协议?难道程序员吃饱了撑得搞点新东西折腾自己?上面提到了Reactive Streams规范。如果你对这个规范不熟悉就需要通过 https://felord.cn 补补课了。这是java领域新的响应式规范,Reactor 3 、RxJava 都是该规范的实现。webflux、hystrix 总听说过吧。java 9 也吸收了该规范的一些精华。也就是说我们现在可以实现网络通信上的响应式了。响应式一个重要的特性就是背压(backpressure)。http通信中服务端接收到过多的请求很容易会过载,严重时导致宕机。而通过背压处理可以选择性的响应请求来避免这种情况。还有http协议是无状态的,只要有请求不管是有效的还是无效的,是否是重复的,服务器都会进行处理直到完成。如果使用响应式一定程度会大大减少这些无意义的请求。有时候我们需要建立起长连接。就需要借助于Websocket来实现。如果使用RSocket就很容易建立连接双方的管道。还有其它非

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值