> I am working on building a distributed system where a bunch of > workers (can scale to few thousands) are connected to a manager. > Workers send certain local events to the manager and the manager then > should broadcast that event to all other workers. Workers shouldn't > miss any event (for reasons like network issue, or they are rebooting > etc.). For now the master high availability is not a serious > requirement. But would prefer a design that doesn't over complicate > things when master HA has to be added. master and slaves are fully go > code and unlikely to change.
Did you consider a system like RabbitMQ[0] as the messaging layer? It supports all the features you describe including dynamic joining/leaving of clients. Client libraries for many languages exist[1], including Go[2]. Regards Lutz [0] https://www.rabbitmq.com/ [1] https://www.rabbitmq.com/devtools.html [2] https://github.com/streadway/amqp -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.