Distributed-Cache-System
consistent
Distributed-Cache-System | consistent | |
---|---|---|
3 | 2 | |
11 | 660 | |
- | - | |
7.8 | 0.0 | |
9 months ago | 6 months ago | |
Go | Go | |
- | 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.
Distributed-Cache-System
- An attempt on Distributed Cache System
-
An attempt to design a distributed cache system
I have worked on this project for quite a while. Started from scratch and learned and built the system. I would appreciate any comment or advice on the project. Here is the github link: https://github.com/cruzelx/Distributed-Cache-System
consistent
-
Cloud Scheduler, can there really be only 5000 number of jobs? Is there a limit at how far I can plan tasks into the future? Alternatives?
For example, for a user with the user id of 123-ddd-44232, you would devise a system in your language of choice to hash that ID to the number 2. You then always send the queue messages for that user to queue 2 with the user id in the payload (and not in the URL). This will ensure that FIFO still happens on a per-user basis, but also lets you scale your queues appropriately. Here's an example library in Go that achieves the hashing part with just a few lines of code. These types of libraries are available in most languages.
- Consistent hashing with bounded loads in Golang
What are some alternatives?
Olric - Distributed in-memory object store. It can be used as an embedded Go library and a language-independent service.
resgate - A Realtime API Gateway used with NATS to build REST, real time, and RPC APIs, where all your clients are synchronized seamlessly.
Dkron - Dkron - Distributed, fault tolerant job scheduling system https://dkron.io
emitter-io - High performance, distributed and low latency publish-subscribe platform.
doublejump - A revamped Google's jump consistent hash
dragonboat - A feature complete and high performance multi-group Raft library in Go.
go-hashlru - A simple thread-safe and fixed size LRU. Based on the Hashlru Algorithm :arrows_clockwise:
ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications
holster - A place to keep useful golang functions and small libraries
grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC
KrakenD - Ultra performant API Gateway with middlewares. A project hosted at The Linux Foundation
glow - Glow is an easy-to-use distributed computation system written in Go, similar to Hadoop Map Reduce, Spark, Flink, Storm, etc. I am also working on another similar pure Go system, https://github.com/chrislusf/gleam , which is more flexible and more performant.