RSocket就是为服务而设计的。它是面向连接的、消息驱动的协议,内置了应用程序级的流控制。它在浏览器中和在服务器上一样工作。事实上,Web浏览器可以服务于后端微服务的流量。它也是二进制的。它可以同样好地处理文本和二进制数据,并且可以分解有效工作负载。它将应用程序中的所有交互建模为网络原语。这意味着,你可以流化数据或执行发布/订阅,而无需设置应用程序队列。
目前提供Java、JavaScript、C++和Kotli版本实现。
服务端示例代码:
RSocketFactory.receive() .frameDecoder(Frame::retai) .acceptor(ew PigHadler()) .trasport(TcpServerTrasport.create(7878)) .start() .block() .oClose();客户端示例代码:
Moo<RSocket> cliet = RSocketFactory.coect() .frameDecoder(Frame::retai) .trasport(TcpClietTrasport.create(7878)) .start();PigCliet pigCliet = ew PigCliet(cliet);Recorder recorder = pigCliet.startTracker(Duratio.ofSecods(1));it cout = 1_000;pigCliet .startPigPog(cout, recorder) .doOTermiate(() -> System.out.pritl("Set " + cout + " messages.")) .blockLast();
评论