欢迎各位来到普鲁士Java的地盘!我叫普鲁士Java(因为我英文名叫bruce),也可以叫我社会文,目前专注于微服务。
关于为什么要用RSocket,官网给了详细说明:https://rsocket.io/docs/motivations
基于大家可能和我一样英文不好,我再次勉为其难为大家翻译一下:
1.一个技术的更新和发展始终紧跟时代的潮流和趋势
Java自从Java8 开始已经开始陆续向响应式开发靠拢,诞生了一大堆的Java 响应式组件和框架,例如:Reactive Streams、Srping Reactor 和 Spring Flux
,响应式框架特点:事件驱动,异步处理,相对于同步阻塞的方式能极大的提高性能。
2.随着分布式开发的发展,我们急需处理服务和服务之间的通讯稳定,传输高效。以前我们一个单体应用,拆分成了多个服务,整个服务的调用链路被拉长
整个接口和服务的相应时间变得不可预估
3.还有就是HTTP协议发展赶不上分布式发展的需要,众所周知HTTP是基于文本传输的协议,而RSocket基于二进制的协议
4.RSocket针对分布式应用场景提供了更加灵活的交互模式
4.1Fire-and-Forget:优化请求/响应,在不需要响应时非常有用,例如非关键事件日志记录。
4.2请求/响应:当您发送一个请求并收到一个响应时,就像HTTP一样。即使在这里,该协议也具有优于HTTP的优点,因为它是异步和多路复用的。
4.3请求/流:类似于返回集合的请求/响应,集合被回送而不是查询直到完成,因此例如发送银行帐号,用实时的帐户事务流进行响应。
4.4频道:允许任意交互模型的双向消息流。
基于消息意味着协议可以支持单个连接上的多路复用。此外,与TCP一样,它是真正的双向,因此一旦客户端启动与服务器的连接,连接中的双方就变得彼此等同 - 实质上,服务器可以从客户端请求数据。
RSocket 提供了基于:TCP,websocket, Aeron的应用协议
本人联系方式 qq:1242329208,有关技术学习交流欢迎来找我,微信号等同qq。希望我与你一同进步探索Java未知世界
本文由博客群发一文多发等运营工具平台 OpenWrite 发布