kine
rqlite
kine | rqlite | |
---|---|---|
12 | 112 | |
1,416 | 14,898 | |
2.7% | 0.7% | |
8.1 | 9.9 | |
13 days ago | about 6 hours ago | |
Go | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
kine
-
Apache APISIX without etcd
-- Kine (Kine is not etcd)
-
Goodbye Etcd, Hello PostgreSQL: Running Kubernetes with an SQL Database
Looking at [1], is there any reason why this couldn’t run in something like DynamoDB? I feel like the operations required would fit
https://github.com/k3s-io/kine/blob/master/pkg/drivers/gener...
- K3s to Skill Up?
-
What is going on with Kubernetes Microdistros?
I don't like some of the decisions that k3s makes which is why I stay away from it, but it's a great project. I'm not using kine yet, but I fantasize about using it exclusively every time I deal with etcd-induced slowness/random CPU spikes on my group of controller nodes. k0s supports kine too of course but I just haven't switched it on yet.
-
Databases = Frameworks for Distributed Systems
Well in some situations you can also get away with CRDTs or Gossip (SWIM), but yeah in the general sense Paxos (Raft is a Paxos-family algo). There are lots of paxos family algos to choose from[0].
> I’m also currently building a distributed search engine using etcd for the service registry, broker peer announcements, and worker queue and it’s been a good experience so far.
As a random stranger on the internet, please build an abstraction layer around etcd. Even if there's only one implementation, I've found that so many distributed projects that just never reach the scale that etcd is built for would benefit from the option of writing their own drivers (you don't need a full plugin system just a regular abstraction layer).
One example is Kine[0] for k8s -- if k8s had a built in option for writing/reading from something like Postgres from the beginning it would have been a better project for it, IMO.
If you do build a plugin system though, you can pass off the work of maintaining the other implementations!
[0]: https://vadosware.io/post/paxosmon-gotta-concensus-them-all
[1]: https://github.com/k3s-io/kine
-
K8s on Pg
I could spent >0s looking into this, but I've been curious how kline implements Etcd's Watch API. For the matter, I don't have much idea in general how kline handles data. Kline would be a great candidate for a blog post or introductory technical article on.
I do quickly see one issue- evidently watches presently use polling. The issue requests use of postgres triggers: https://github.com/k3s-io/kine/issues/20
-
Kubernetes but with Hashicorp Consul instead of ETCD for the control plane?
check out https://github.com/k3s-io/kine
- Building a bare-metal Kubernetes cluster on Raspberry Pi
- Rancher Desktop, a Docker Desktop Replacement
-
rqlite 6.0: the evolution of a distributed database design
Not to be mistaken for high-availability Dqlite[1], which is one of the options one can run the k3s kubernetes distribution on (instead of etcd), via the Kine etcd shim[2]. Ultimately though the K3s team replaced Dqlite with an embedded etcd to get high-availability[3].
[1] https://dqlite.io/
[2] https://github.com/k3s-io/kine
[3] https://rancher.com/docs/k3s/latest/en/installation/ha-embed...
rqlite
- The lightweight, easy-to-use, distributed relational database built on SQLite
-
CursusDB – A new scalable distributed document oriented database
Seems like you could do the same with rqlite [1], since SQLite supports JSON.
[1]: https://rqlite.io
-
Rqlite 8.0
rqlite[1] creator here, happy to answer any questions about rqlite, this latest release, and how it works.
[1] https://rqlite.io
-
Adding new database engine support
I found simple distributed RQlite https://github.com/rqlite/rqlite based on raft and sqlite. How hard is to add it?
- I'm All-In on Server-Side SQLite
-
So, you want to deploy on the edge?
rqlite[1] creator here, happy to answer any questions. rqlite also supports read-only nodes, which can also help with reads at the "edge". It probably wouldn't scale to 100s of nodes, it is an option.
"rqlite supports adding read-only nodes. You can use this feature to add read scalability to the cluster if you need a high volume of reads, or want to distribute copies of the data nearer to clients – but don’t want those nodes counted towards the quorum. These types of nodes are also known as non-voting nodes."
[1] https://rqlite.io/
[2] https://rqlite.io/docs/clustering/read-only-nodes/
- LiteFS Cloud: Distributed SQLite with Managed Backups
- Show HN: Rqlite, distributed DB built on SQLite, now runs on MIPS, RISC, PowerPC
- rqlite v7.19.0: the lightweight distributed relational database built on Go, Raft, and SQLite -- now runs on MIPS, PowerPC, and RISC
- rqlite v7.18: the lightweight distributed database built on Go, Raft, and SQLite -- now with new Unified HTTP endpoint for easy reads and writes
What are some alternatives?
kubernetes - Production-Grade Container Scheduling and Management
dqlite - Embeddable, replicated and fault-tolerant SQL engine.
k3s - Lightweight Kubernetes
litestream - Streaming replication for SQLite.
cockroach - CockroachDB - the open source, cloud-native distributed SQL database.
kilo - Kilo is a multi-cloud network overlay built on WireGuard and designed for Kubernetes (k8s + wg = kg)
bolt
kubernetes - Production-Grade Container Scheduling and Management [Moved to: https://github.com/kubernetes/kubernetes]
etcd - Distributed reliable key-value store for the most critical data of a distributed system [Moved to: https://github.com/etcd-io/etcd]
cluster-api - Home for Cluster API, a subproject of sig-cluster-lifecycle
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.