i prefer kvdb-backed grpc for messaging to these pubsub projects because there is always some caveat. either it has at-least-once delivery or at-most-once delivery and other times it will disconnect clients if they are too slow or producers are too fast. there is always something. so tailor-made solution works out the best for me. easy and fast to write. works as one wants it to work. and with go, it's a piece of cake and also part of single binary, no external dependencies.