Open jottinger opened 2 months ago
The IRC service uses an internal router to dispatch commands (because they're localized to the service). So you'd have to have a way to differentiate dispatches; maybe a DispatchConsumer and DispatchProducer, where the IRC Service had a "no-op" producer and a consumer that received from simple method calls, and the "main loop" would have a consumer that pulled events from a queue and a producer that wrote TO a queue.
This requires an MQ service to be present for the router to operate. This may not be a CORE aspect of the whiteboard; maybe the "main loop" does this, but not the whiteboard itself.
The advantage of this is instant horizontal scalability; the disadvantage is the requirement for an MQ and viable setup FOR the MQ, with queues being set up for the router and services.