I have done some analysis to identify the messaging system for logging user specific actions in one of my systems. The user can do various activities on the site and all those actions should be logged that can be used for various analysis.
We also want the guaranteed message delivery and the message should be available and it should be distributed across the cluster so failure of any node should not cause any issue for that message. We can’t predict the number of messages created in a second. So it will be increased gradually based on number of users.
By considering all these points, we prefer to use Apache Kafka instead of RabbitMQ or other messaging system