Comments (5)
This orchestration of who does what is difficult from a Serf core perspective because there is no "ack" functionality yet for events. We've talked about it. I think that is the core thing needed here and I think it would be possible, but it would be dependent on that.
Other than that, there is no way to do this unless you put this "single node" coordination within your event handlers yourself. i.e. "your problem"
Thoughts, @armon?
from serf.
I think the issue is that having only a single node handle it requires a concensus algorithm. The reason is that you can think of the problem as needing to either elect a single leader to perform the action or you are acquiring a global mutex. In either case, we need some stronger consistency to support this. That said, I think this is something we want to support as well! No easy answers, but something we need to look at.
from serf.
@mitchellh, @armon -- That makes complete sense, thank you for your replies.
from serf.
Since Serf doesn't support distributed locking yet, a work around I have is to use NFS and use the OS to help acquire a lock.
In the event that you need a better distributed locking mechanism, I suggest looking into Zookeeper.
from serf.
Serf's goal is to provide an available and network partition tolerant solution. As such, any features that require strong consistency are out of scope. Instead it makes sense to use Serf along side other tools that can provide strong consistency.
from serf.
Related Issues (20)
- CVE-2019-19794 on last release by repos hashicorp/mdns
- Website Simulator Alert for Number of Nodes Check is Off-by-One
- When a serf member is leaving the pool using `Leave` if `messageLeaveType` broadcast fail, the leave is not completed
- maybe mark `v0.9.6` as the latest release?
- Release latest binaries HOT 2
- response size check on keyListResponseWithCorrectSize breaks with 32bit keys and keyring size >20
- Data race related to query Ack channel
- Is Serf suitable for integration into the kubernetes app as a library?
- When the nodes leave and start at the same time in a large-capacity consul cluster, some member states will continue to keep leaving, not alive.
- Upgrade kramdown package used in Website Gemfile.lock to version 2.3.0+ to fix Remote Code Execution CVE-2020-14001
- Can't bind Serf agent to IPv6 address
- serf panics on MacOS when waking up from sleep during a network switch
- serf agent panic when -iface and -discover is given HOT 2
- serf: protect field access with lock to avoid potential data race
- [Question] User events to a node rejoining the cluster
- Is this a small typo? Should read start and stop?
- Please, Upgrade armon/go-metrics to hashicorp/go-metrics
- Question regarding the estimation of the latency between two kubernetes clusters using serf
- Unix Domain Sockets for the RPC address.
- Using as a library of managing membership, Is serf just provides a different/better implementation of memberlist? HOT 2
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 serf.