Skip to content
This repository has been archived by the owner on Jul 16, 2024. It is now read-only.

Development Setup

linux_china edited this page Mar 4, 2020 · 2 revisions

Alibaba RSocket Broker开发环境一览:

  • JDK 8 & Maven 3.5+ & Node.js 10.x
  • Docker
  • Vagrant
  • Toxiproxy
  • MiniKube

JDK 8 & Maven 3.5+

Alibaba RSocket Broker基于Java 8开发,使用Apache Maven 3.5进行编译。由于Broker控制台使用Vaadin 14开发,所以需要Node.js 10.x版本支持,但是我们建议使用Node.js 12 LTS版本。 关于IDE工具方面,Alibaba RSocket Broker使用IntelliJ IDEA进行开发,当然这个只是建议。

Docker镜像

Alibaba RSocket Broker使用jib-maven-plugin生成Docker镜像,详情请访问 https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin

Vagrant测试

考虑到Gossip测试的便捷性,这里我们建议使用Vagrant进行Broker集群的Gossip测试,项目也提供了默认的Vagrantfile。

MiniKube部署

目前项目并没有集成Kubernetes的部署,不过我们建议你可以参考Eclipse JKube https://www.eclipse.org/jkube/

Chaos测试

在RSocket Broker项目中,我们使用ToxiProxy模拟不同网络情况下的Broker集群及客户端测试。相信信息请参考 https://github.com/Shopify/toxiproxy

RSocket

Network Protocol

  • Binary: byte stream
  • Async message
  • Multi transports
  • Reactive Semantics

Symmetric interactions

  • request/response
  • request/stream
  • fire-and-forget
  • channel

Transports

  • TCP+TLS
  • WebSocket+TLS
  • UDP(Aeron)
  • RDMA

Polyglot

Clone this wiki locally