-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Nyx uses a publisher/subscriber model. Simply put this means a node publishes a message onto a channel and other nodes subscribed to that channel will act upon receiving it. This can be one-to-many like sending some python to all render farm nodes, or one-on-one by sending a message to a node's unique id channel.
A message consists of a 'target channel' to which it is published, an 'action' and a 'payload'. Upon receiving a message the name of the action and the data payload are provided are pass to the message action handlers.
The Nyx Framework consists of a central Hub aka server, that receives messages from all nodes, and routes them to other nodes after passing the message to any action and filter hub handler. There aren't any node to node communication, they always pass through the Hub.
The default hub action handler just handles ping and registration messages. The registrations messages are the ones responsible for register a node in the hub, it acts much like a nameserver, so the hub can find a node, either on the intranet, and ping is for testing.