You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sirius relies on Akka remoting in order for nodes to catchup with each other. This has a few drawbacks:
Akka remoting protocol is not stable between versions of Akka
Akka remoting requires bidirectional communication between nodes
I propose adding support into Sirius for HTTP-based following where Sirius can be configured to listen on a given port and accept HTTP requests for log ranges. Following nodes would be configured with the URI through which to request those log ranges, which could be behind a load balancer.
I've already implemented this behavior in my Spring application by disabling Akka-based catchup and tapping into the Akka actor system directly to read log subranges and to replay them and it works quite well. The Spring controllers support streaming which allows the followers to request the entire log from a given sequence.
The text was updated successfully, but these errors were encountered:
HaloFour
changed the title
Use HTTP for Sirius following
Support HTTP for Sirius following instead of Akka remoting
Jul 18, 2019
Sirius relies on Akka remoting in order for nodes to catchup with each other. This has a few drawbacks:
I propose adding support into Sirius for HTTP-based following where Sirius can be configured to listen on a given port and accept HTTP requests for log ranges. Following nodes would be configured with the URI through which to request those log ranges, which could be behind a load balancer.
I've already implemented this behavior in my Spring application by disabling Akka-based catchup and tapping into the Akka actor system directly to read log subranges and to replay them and it works quite well. The Spring controllers support streaming which allows the followers to request the entire log from a given sequence.
The text was updated successfully, but these errors were encountered: