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

Support High Availability Clustering #5

Open
ezrasingh opened this issue Aug 8, 2024 · 1 comment
Open

Support High Availability Clustering #5

ezrasingh opened this issue Aug 8, 2024 · 1 comment
Labels
enhancement New feature or request help wanted Extra attention is needed question Further information is requested
Milestone

Comments

@ezrasingh
Copy link
Owner

Is your feature request related to a problem? Please describe.

The current system does not support high availability clustering, which limits its resilience and scalability.

Describe the solution you'd like

Implement high availability clustering to ensure the system remains operational and performant under heavy load or in case of node failures.

Describe alternatives you've considered

Manual failover setups and load balancing, but these are less efficient and more complex than built-in clustering support.

Additional context

Features could include:

  • Automated failover and load balancing between nodes.
  • Data replication across cluster nodes.
  • Monitoring and health checks for cluster nodes.
  • Seamless scaling to handle increased load.
@ezrasingh ezrasingh added this to the v1.0.0 milestone Aug 8, 2024
@ezrasingh ezrasingh added enhancement New feature or request help wanted Extra attention is needed labels Aug 8, 2024
@ezrasingh ezrasingh pinned this issue Aug 12, 2024
@ezrasingh
Copy link
Owner Author

The first step toward achieving HA might be to address fault tolerance by implementing persistence, as the current setup doesn’t support it—meaning a crash would result in total data loss.

A possible solution could involve introducing state snapshots and an append-only log for operations. This would allow for some level of recovery during a failover, with configurable options for snapshot intervals.

My preference is for a memory-focused approach to persistence, where:

  1. A snapshot of the current state is taken.
  2. As operations are processed, they are logged.
  3. When the log reaches a certain size or memory threshold, a new snapshot is taken.
  4. The log file is either archived or simply discarded.
  5. The log is then flushed, and the process repeats.

@ezrasingh ezrasingh added the question Further information is requested label Aug 12, 2024
@ezrasingh ezrasingh moved this to Backlog in Geoprox v1 - Release Aug 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed question Further information is requested
Projects
Status: Backlog
Development

No branches or pull requests

1 participant