Comcast / Comcast/sirius

Support HTTP for Sirius following instead of Akka remoting

Open
#140 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Scala
Stars
296
Forks
48
PR merge metrics
No merged PRs in 30d

Description

Sirius relies on Akka remoting in order for nodes to catchup with each other. This has a few drawbacks:

1. Akka remoting protocol is not stable between versions of Akka
1. 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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.