README on https://github.com/saltstack/raet says "ZeroMQ integrates queue management and transport in a monolithic way with special "sockets", tuning the performance of the queuing independent of the transport at scale becomes problematic." It seems they wanted to tune the performance by configuring ZeroMQ queues freely. However, there was not much freedom in configuring ZeroMQ queues. So SaltStack people implemented their own queues independent of transport in raet. I suspect they wanted to regulate queue behavior independent of transport in fine details. On Sat, Oct 18, 2014 at 3:02 PM, Martin Sustrik <sustrik@xxxxxxxxxx> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > What's a programmable queue? > > Martin > > On 18/10/14 00:22, crocket wrote: >> SaltStack uses ZeroMQ to communicate with SaltStack on other >> machines. https://github.com/saltstack/raet says SaltStack faced >> performance issues on massive deployments because ZeroMQ doesn't >> have a UDP transport and doesn't allow programmers to tune queues >> independent of transport. >> >> In other words, it was lack of UDP and of programmable queue. Or, >> was it really a problem of UDP and programmable queue? >> >> If so, I can think of solutions. >> >> Both ZeroMQ and nanomsg is capable of assimilating UDP transport >> though nanomsg makes it easier to do so by providing internal APIs >> for transport and messaging patterns. >> >> However, ZeroMQ and nanomsg don't seem to provide programmable >> queues. >> >> How could nanomsg satisfy SaltStack's messaging needs? >> > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.11 (GNU/Linux) > > iQEcBAEBAgAGBQJUQgJbAAoJENTpVjxCNN9Y+dUIAKDLDxfy+J+h1jCLmQV1zrAy > ApTp6bc3LYIfSewhIe5i0xe0zEE6+luCzjPVzpiJkhx258k2hJQurPFAqcv20vDG > odxzZQwqIE1zJzFurEWTwOUCoUbZVBVCFEV1AIBrYxqT5f4dbiUZB9yuf3DIJh/S > WrHPBgIptFza6O5v+34U369kTvdFUYwUCGBOxBXesI7hb0xXPYbOt8fuMsUHZBfF > prTOtcX0V68/PhGMRa7EvxFOSy0hom6ip7MUXZaQd9UzMsDnGJgYGmST3jNhXl6/ > B59DcIF+SH2/ZnVCkHckdS7MNj4lycTDUOcK1afZvWewvleVaHEtBiqI+XlwAzw= > =2tjt > -----END PGP SIGNATURE----- >