a project by epenchev
Description
Continue the work on kqlite (Lightweight remote SQLite with high availability and auto failover).
It's a solution for applications that require High Availability but don't need all the features of a complete RDBMS and can fit SQLite in their use case.
Also kqlite can be considered to be used as a lightweight storage backend for K8s (https://docs.k3s.io/datastore) and the Edge, and allowing to have only 2 Nodes for HA.
Kqlite was somehow inspired from dqlite and rqlite, although they are using Raft to create a replication cluster.
Goals
- Upgrade the client connection to TLS/SSL.
- Add configuration.
- Add SFTP service (for the replication).
- Add replication and roles (Primary/Secondary).
- Create HA logic with VIP management.
- Create a 'Kine' layer for rewriting PostgreSQL queries to SQLite compatible ones.
Resources
https://github.com/benbjohnson/postlite
https://github.com/pganalyze/pg_query
https://github.com/benbjohnson/litestream
https://github.com/benbjohnson/litestream-library-example/tree/main
https://pkg.go.dev/github.com/pkg/sftp
HA Network split check.
- Check secondary ( monitoring the replication link).
- Check network interface.
- Check default gateway (if present).
- Check neighbors (ARP).
- Check Internet connectivity (if present).
Looking for hackers with the skills:
Nothing? Add some keywords!
This project is part of:
Hack Week 24
Activity
Comments
Be the first to comment!
Similar Projects
This project is one of its kind!