Skip to content

Subscriptions pool #192

Open
Open

Description

@alexeyzimarev

ESDB has this smart functionality that allows maintaining less subscriptions if all the event handlers are live. In Eventuous context it would work like this:

  • Each subscription (group of handlers) is independent and can start from its own checkpoint
  • When subscription groups are catching up, they keep running independently
  • When a group starts to run live it switches to a single catch-up subscription, which runs live. The catch-up subscription used by the group gets disposed.
  • When all the groups run live, there's only one physical catch-up subscription running
  • If a particular group starts lagging behind, it switches to its own catch-up subscription

As a result, when all the groups are running live, there's only one physical catch-up subscription to the database, so there's less traffic and less read pressure on the database.

From SyncLinear.com | EVE-38

Activity

  1. changed the title [-][EVE-37] Subscriptions pool[/-] [+][EVE-38] [EVE-37] Subscriptions pool[/+] on Mar 6, 2023
  2. changed the title [-][EVE-38] [EVE-37] Subscriptions pool[/-] [+][EVE-38] Subscriptions pool[/+] on Mar 7, 2023
  3. alexeyzimarev commented on Mar 7, 2023

    @alexeyzimarev
    ContributorAuthor

    Thoughts about ground work:

    • Subscription could have a sliding window of events (past) with time-based expiration
    • Separate subscription hosts from handler groups?
    • Allow groups to move between hosts
  4. changed the title [-][EVE-38] Subscriptions pool[/-] [+]Subscriptions pool[/+] on Jun 17, 2024
  5. linear commented on Aug 16, 2024

    @linear
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions