You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently we use the 'name' as a unique id and discovery primitive.
And we rely on an external mechanism transmitting the name to another process, to be able to do discovery.
This is bad for few reasons :
naming a node tend to make people give "responsibilities" to one node / process, making the structure quite brittle (one process crash, then nothing relying on this feature works aymore...)
it introduce an intermediary, where we could directly use the ZMQ url (or any network uid primitive depending on our network implementation.
we do not have a clear API for the user to make it obvious how to discover a running system.
Before we can do complex things like auto discovery, we need to build a simple and obvious API for "manual discovery"
The text was updated successfully, but these errors were encountered:
drop the "name" concept for a node, assigning uuids only.
when starting a node, it should return the socket address url that a client can use to later discover the services available on that node.
nodes url should be propagated up the startign tree : a node starting another node dynamically somehow needs to propagate the url to connect to the nodes he started.
As a result a node is supposed to manage his own children for start / stop / exception / error / etc.
Although the structure is also a tree, this does NOT match the loggers structures, as the loggers should be defined by functionalities (ie : my.special.algorithm) where the nodes should be entirely redundant and replaceable (ie: 123252.242342.33438)
=> This implies that our logging system (TODO) needs to weave multiple nodes output in the same log file, while dealing with concurrency issues.
Currently we use the 'name' as a unique id and discovery primitive.
And we rely on an external mechanism transmitting the name to another process, to be able to do discovery.
This is bad for few reasons :
Before we can do complex things like auto discovery, we need to build a simple and obvious API for "manual discovery"
The text was updated successfully, but these errors were encountered: