Hello Quan,

Thanks a lot for this work. It is very encouraging.

Having the whole eventbus based on Redis is IMO however not a good idea.

For notifications / registration being best effort will be OK however RabbitMQ quorum queues address reliability issues. Going fully away of RabbitMQ for work queue patterns in favor of Redis is IMO not desirable.

Best regards,

Benoit TELLIER

On 28/02/2024 10:08, Quan tran hong wrote:
Hi folks,

Following the context of the Jira ticket JAMES-3996 POC: Move RabbitMQ
Event bus user notifications to Redis
<https://issues.apache.org/jira/projects/JAMES/issues/JAMES-3996?filter=allopenissues>
(TLDR:
we observed some annoying issues with RabbitMQ in a deployment and we think
it could be better to move at least the user notifications part of Event
Bus to Redis), I did a Proof Of Concept about that in the PR JAMES 3996
Redis event bus POC <https://github.com/apache/james-project/pull/2028>.

The POC is considered done to me, and I want to share the POC result to
James devs:
- It is *possible *(the POC worked!) to replace the Event bus user
notifications (key registration) using Redis Pub/Sub. And likely the whole
EventBus (the group registration part as well) can rely on Redis (I did not
do that part).
- I did several performance tests for the POC, and the results were *good*.
Regarding the metrics of Event Bus user notifications, Redis seems to
outperform and show more stability in response time than RabbitMQ. (For
more details, I shared on the PR)

Despite the POC has been worked and shown some prospects, I think we should
monitor it more carefully before applying it to James. Therefore, we
(Linagora) would adopt the Redis Event bus user notifications first in our
TMail project (based on James). We would keep an eye on its stability
before contributing the fine-tuned work toward James.

By the way, it seems someone from the community is interested in building
the whole EventBus using Redis cf
https://issues.apache.org/jira/browse/JAMES-3956. This POC could be a start
for that Redis EventBus.

What do you think about using Redis for EventBus? Would that sound
interesting to you?

Regards,

Quan


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to