jottinger / streampack

The streampack information manager
MIT License
0 stars 0 forks source link

router: the router should dispatch to an MQ for services (and listen on an MQ for events)... maybe #3

Open jottinger opened 2 months ago

jottinger commented 2 months ago

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.

jottinger commented 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.