Comments (4)
Groupcache doesn't provided peer discovery or keep track of peer liveliness. You will need something that can do that for you, like kubernetes, etcd, consul, memberlist, such that when a node goes down or becomes unavailable it will notify you and your application can remove that peer from the groupcache peer list. We have used https://github.com/hashicorp/memberlist and etcd in the past with great success. Others have used kubernetes for this, you will have to write that yourself with your project needs in mind.
from groupcache.
Thank you for the tips @thrawn01 . memberlist seems an interesting project and I plan to give it a spin.
I am aware that groupcache doesn't provide peer discovery nor does it keep track of peer liveliness out of the box, however based on the loading process described here, my assumption is that groupcache should tolerate nodes going offline without issues.
When the owner of a cached entry is offline and the entry is not hot on the node requesting it, the requester attempts a RPC call to the owner node, the call fails and the requester will retrieve the data itself. Based on this description, my assumption is that I can safely take groupcache nodes offline without destabilizing the cluster.
Can you confirm this assumption?
from groupcache.
Yes, your assumption is correct.
from groupcache.
Thank you @thrawn01 !
from groupcache.
Related Issues (20)
- GetterFunc execute once
- Remove only works with the last peer of the list
- value with no expired
- Provide example for configuring a Kubernetes pool HOT 2
- README example doesn't demonstrate using HTTP Pool
- Support to Attach to Already Running Server HOT 1
- Deadlock in groupcache lookup HOT 3
- What should we do when membership changes ? HOT 2
- context deadline on specific keys HOT 5
- Groupcache fails to distribute across peers HOT 8
- Add the ability to warm the cache HOT 1
- [feature-request] Provide an option to set http client options, like headers or maybe update the http req. HOT 2
- Deadlocks after panic inside Getter
- Peer pods autodiscovery within kubernetes cluster HOT 1
- Can you update key? HOT 1
- getgroup from different main instances will it work ?
- HTTP Error Handling Problem
- Upgrade the Protobuf API version
- Support batching multiple `Get()` requests in a single HTTP request HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from groupcache.