I am using a C++ broker with clients written in C++, Python, and Java. If we run the system overnight, it reliably does not send/receive messages by morning. All messages are exchanged over topics with subjects designating the destination. I have 3 questions:
1.) Should we be using queues? Is there an advantage to using queues over topics? What is the design decision that picks a queue over a topic? Queues seem more rigid (i.e. if you know node A sent a request and wants a response, you would send a response right back; pub/sub).
2.) If a message goes unacknowledged, what can happen? I discovered that the Python module was missing a session.acknowledge(). Could this be causing our overnight failures? I discovered this problem today so I will hopefully have more insight tomorrow. The remedy has been to restart the qpidd service. (We are running on x64 Linux).
3.) Is this a good reason to use cluster fail over?