ZeroMQ používáme k naprosté spokojenosti. Konkrétně ROUTER/DEALER sockety - oproti REQ/REP mají tu výhodu, že odpověď se nemusí skládat jen z jedné message, ale může jich být víc, takže si můžu signalizovat, že request dorazil skrz broker na cílový service worker (klient si pak může prodloužit timeout), a teprve v další message mi přijde odpověď. Nebo si si tu odpověď můžu streamovat ve více messages. (Tip: přestože to jde, nedělejte gigabajtové zmq message...) Pro vnitrofiremní "microservices" komunikaci mi něco takového dává mnohem větší smysl, než HTTP (to si nechte na veřejné API).
V Pythonu si pyzmq rozumí i s asyncio. Donedávna bylo potřeba instalovat pyzmq-specific event loop místo defaultní asyncio event loop a to nebylo úplně kompatibilní např. s web frameworky, ale v poslední verzi pyzmq už je tato praktika deprecated a pyzmq si už rozumí i s default asyncio event loop.
Jo a přečtěte si zguide :) http://zguide.zeromq.org/page:all Ppřípadně verze s příklady v Pythonu místo C: http://zguide.zeromq.org/py:all