Problem description

Publisher-Subscriber architecture with a central registry where agents can either promote their capabilities or search for a given capability.

The project must be developed with C/C++. A GUI used to compose a chain of agents is a nice-to-have (not necessarily C or C++).

Current state of my thinking

  • Set up the Publisher-Subscriber in place using ZeroMQ
  • The central registry (or notice-board) role is only to connect agents between them using sockets
  • Data serialization is performed either with MessagePack or FlatBuffers


It's the first time I'm asked to develop a Publisher/Subscriber architecture and I've never used the libraries I listed above.

Does my approach look good to you?

1 Answer 1


First, your idea sound fine to me.

I suggest, you have a look at different registries.

I also suggest looking at specific ideas, such as that from elixir: https://hexdocs.pm/elixir/master/Registry.html (see down the page for pub/sub)

Consider (if you use topics) defining a naming scheme/tree for the published messages.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.