feat: Node metadata #1072
Replies: 4 comments
-
|
@waeljammal At the moment you can poll to check which node is the leader in the cluster mode using the Leader method |
Beta Was this translation helpful? Give feedback.
-
|
Moreover I will look a bit into the feature request and see whether it is necessarily to add it because I am careful not to add too many features(we already some 😁) that do not have any actor-related connotation. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for your quick response, I believe this is a useful feature for existing systems that want to start using actors. Many distributed systems incorporate some form of leader election / discovery. This feature would allow them to migrate slowly without have to run 2 separate discovery systems and election systems in each service by replacing their current election/discovery with goakt and then slowly migrate their code to actors without breaking existing code that might be for eg. using grpc with resolvers. |
Beta Was this translation helpful? Give feedback.
-
|
GoAkt is not a discovery platform. It does provide a discovery provider, but it is intended solely for its cluster mechanism. I’m concerned that this is not an actor framework issue, but rather an application-level concern. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Problem description
We are trialing goakt and we were looking at potentially also replacing our leader election and service discovery so that we are not duplicating what goakt is already doing however we do not see the following which prevents us from disabling our own:
Solution description
Attach node metadata
map[string]stringto the cluster config and have that be available in the proto messages.Add 2 messages for leadership so we can more easily hook into became leader and lost leader
Alternative solutions
Replace goakt discovery with our own, we only support consul internally however goakt has support for more discovery services so makes more sense to switch to goakt instead of our own if possible.
Additional context
GoAkt has a place in our system, however our system can not be fully designed or refactored around goakt if we want to incrementally upgrade some parts of our system to use actors then its useful to be able to hook into some of these internal systems more seamlessly (election, discovery) so that our existing code continues to work correctly without adding additional bloat.
Beta Was this translation helpful? Give feedback.
All reactions