面向连接的、消息驱动的协议 RSocket

Apache
Kotlin Java C/C++ JavaScript
跨平台
2018-11-11
红薯

RSocket 就是为服务而设计的。它是面向连接的、消息驱动的协议,内置了应用程序级的流控制。它在浏览器中和在服务器上一样工作。事实上,Web 浏览器可以服务于后端微服务的流量。它也是二进制的。它可以同样好地处理文本和二进制数据,并且可以分解有效工作负载。它将应用程序中的所有交互建模为网络原语。这意味着,你可以流化数据或执行发布 / 订阅,而无需设置应用程序队列。

目前提供 JavaJavaScriptC++Kotlin 版本实现。

服务端示例代码:

RSocketFactory.receive()
    .frameDecoder(Frame::retain)
    .acceptor(new PingHandler())
    .transport(TcpServerTransport.create(7878))
    .start()
    .block()
    .onClose();

客户端示例代码:

Mono<RSocket> client =
    RSocketFactory.connect()
        .frameDecoder(Frame::retain)
        .transport(TcpClientTransport.create(7878))
        .start();PingClient pingClient = new PingClient(client);Recorder recorder = pingClient.startTracker(Duration.ofSeconds(1));int count = 1_000;pingClient    .startPingPong(count, recorder)
    .doOnTerminate(() -> System.out.println("Sent " + count + " messages."))
    .blockLast();
加载中

评论(1)

witt-z
witt-z
这个厉害了,我来改改试试

暂无资讯

暂无问答

容器网络启用RDMA高速通讯-Freeflow

容器网络启用RDMA高速通讯-Freeflow 本文编译自: Freeflow,https://github.com/openthings/Freeflow Deploy FreeFlow plugin in Kubernetes,https://github.com/joyq-github/TensorFlowon...

06/13 10:04
208
0
从八个层面比较分析 Java 8, RxJava, Reactor

响应式编程在单机环境下是否鸡肋? 结论是:没有结论,我觉得只能抱着怀疑的眼光审视这个问题了。另外还聊到了 RSocket 这个最近在 SpringOne 大会上比较火爆的响应式”新“网络协议,githu...

10/17 17:38
18
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部