Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for multiple peers needs improvement #141

Open
Schoonology opened this issue Feb 14, 2015 · 2 comments
Open

Support for multiple peers needs improvement #141

Schoonology opened this issue Feb 14, 2015 · 2 comments

Comments

@Schoonology
Copy link

While I love the idea of a pure-Node alternative to ZeroMQ and the like, there are a number of areas that need some improvement before it can replace it for dynamic clusters with nodes coming in and out periodically:

  • Support for disconnect-ing existing peers - This is required, but tricky. I played around on a fork for a little while, but it'd be a pretty substantial undertaking. The biggest hurdle is overhauling how axon does automatic reconnect: there's not currently a way to turn it off at all, let alone disable it for a specific peer.
  • Per-peer elastic backoff - Currently, the retry time is per Axon socket, not per peer. One good peer and one bad peer will cause a lot of connection thrashing.
  • Multiple-peer-aware connection state - Currently, the connected flag is flipped as soon as any peer accepts or disappears.
  • Reconnection timers aren't cleared on destroy - This is more an issue with cleanly shutting down, which is impossible to do if a peer has ever disappeared suddenly.

I could certainly be misunderstanding the code, but tinkering in the guts confirms these concerns. Thoughts? How would y'all feel about my fixing some (or all) of these?

@tj
Copy link
Owner

tj commented Feb 15, 2015

Hmm I imagine a clean close via some command would be enough to signal that the peer isn't coming back. That wasn't something I needed personally but I agree it would be good to have!

I haven't checked out the code in a while now but I think the rest sounds about right as well

@thelinuxlich
Copy link

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants