Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Active-Active High Availability #1319

Open
2 of 7 tasks
nguyer opened this issue May 24, 2023 · 0 comments
Open
2 of 7 tasks

Active-Active High Availability #1319

nguyer opened this issue May 24, 2023 · 0 comments
Milestone

Comments

@nguyer
Copy link
Contributor

nguyer commented May 24, 2023

Background

FireFly v1.1.0 introduced the ability to configure multiple namespaces and connect to multiple blockchains at the same time. This allowed FireFly to scale beyond the constraints of a single blockchain itself. Subsequent releases, including v1.2.0 continued to improve performance and scale. When deployed in a Kubernetes cluster, the current FireFly Core architecture allows for a recovery time of approximately 15 seconds. As we look forward to FireFly v1.3.0 Active-Active High Availability will introduce some meaningful architectural changes, enabling even greater scaling and availability.

Goals

  • FireFly Core should support fully Active-Active clusters
  • Automatic leader election will determine which runtime is responsible for critical threads where deterministic ordering is required
  • This should enable zero downtime failovers
  • This should enable increased throughput as requests can be handled by multiple runtimes
  • Failover or scaling events should be seamless to client applications connecting through a loadbalancer, with the exception that they may need to reestablish a long lived WebSocket client connection in some cases.

Work Items

This following is a tracking list of the smaller pieces of work that need to be done for active-active high availability of FireFly Core. The list is currently a work in progress, and there will be more items added as they are discovered:

@nguyer nguyer changed the title Active-active High Availability Active-Active High Availability Jun 9, 2023
@nguyer nguyer added this to the v1.next milestone Jul 31, 2023
@nguyer nguyer modified the milestones: v1.3.0, v1.next Jan 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant