Skip to content

Support HTTP for Sirius following instead of Akka remoting #140

@HaloFour

Description

@HaloFour

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
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions