64
I've been looking at using Redis Pub/Sub as a replacement to RabbitMQ.
From my understanding Redis's pub/sub holds a persistent connection to each of the subscribers, and if the connection is terminated, all future messages will be lost and dropped on the floor.
One possible solution is to use a list (and blocking wait) to store all the message and pub/sub as just a notification mechanism. I think this gets me most of the way there, but I still have some concerns about the failure cases.
- what happens when a subscriber dies, and comes back online, how should it process all it's pending messages?
- when a malformed message comes though the system, how do you handle those exceptions? DeadLetter Queue?
- is there a standard practice to implementing a retry policy?