Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In the future we could consider switching all peer-to-peer messages to flow through this new TCP messaging system. We would only do that if the new system has similar or better performance than the old system.

...

Alternatives

Use DTLS


One option to address concerns with using custom encryption protocol would be to continue using jgroups, but remove our old security-udp-dhalgo property in favor of using DTLS. However, this approach is complicated by the fact the the JDK does not have DTLS support built in to Java 8, which would require us to backport and maintain an implementation. In addition, this would not help us fix the problem of being tied to an outdated jgroups stack that cannot be upgraded.

...

One the face of it, just using our existing TCP sockets for membership messages as well seems attractive. However, this code as it is written is dependent on the membership system to bootstrap itself. For example, it will not even send messages until the member has completely joined and some startup messages are exchanged. It would take some refactoring to be able to send membership messages over this system in order to bootstrap membership. The existing P2P socket code is also fairly old, and we feel a better path forward is to move towards a new system based on netty that is less entangled with the rest of the system.

Use a third party messaging system

Aeron, rsocket, grpc, ???

FAQ

Answers to questions you’ve commonly been asked after requesting comments for this proposal.

...