Re:Decentralized cluster membership in Rust
by infogulch on Thursday April 28, 2022 @09:32AM
(#31192226)
Is there a more active way to indicate that a node expects to die? Say, a shutdown handler that manually evicts itself from the cluster with a last, 'I'm dead' state. Would this be useful?
[ Parent
| on HN ]
Re:Decentralized cluster membership in Rust
by couchand on Thursday April 28, 2022 @09:46AM
(#31192372)
Usually that's modeled in the application layer. In scuttlebutt you'd store a higher-level state as one of the node-specific parameters. The gossip protocol doesn't need to know that you know the node knows it's about to die, though there are optimizations to be made there.
Despite what the sibling commenter claims, in a production system you absolutely need that distinction -- not in terms of the reliability of the low-level protocol, but in terms of the application features you want to expose. A node about to be removed needs a chance to drain active connections.
Re:Decentralized cluster membership in Rust
by generalizations on Thursday April 28, 2022 @09:39AM
(#31192303)
Then you have to differentiate between accidental and intentional death. Much more robust not to make that distinction.
Re:Decentralized cluster membership in Rust
by evanxg852000 on Thursday April 28, 2022 @10:25AM
(#31192846)
Depending on the need, it can be implemented on client side as well as on chitchat. We actually thought of this feature as a way for a node to normaly exclude itself from the cluster (maybe for application update). We are still evaluating how necessary this is because a node crash or normal shutdown can just work. Future experience will surely tell us.
Re:Decentralized cluster membership in Rust
by evanxg852000 on Friday April 29, 2022 @07:06PM
(#31211632)
I forgot to reference the issue https://github.com/quickwit-oss/chitchat/issues/30