-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to ensure reliable delivery of rabbitmq? #730
Comments
Hello, Due to some historical issues (for performance), we did not use release confirmation when publishing the message. At present, I think that ensuring the reliability of messages is one of the core goals of CAP, so I think this is a feature that needs improvement (although doing so may cause a lot of performance degradation). After enabling the sending confirmation, I did a performance test, which can reach up to 86pcs/s, which I think is acceptable. What do you think? @xiangxiren @wdloveyy
|
你好,
最后,由于保证发布消息的可靠性是cap组件的核心之一,所以我建议您考虑增加一下rabbitmq的publish ack,保障消息确实被rabbitmq接收。 |
This just inspired me to think about the problems in our system a few days ago. Due to the unexpected downtime of RabbitMQ, there is a situation in which the sending table exists but the receiving table does not. Therefore, I think it should be confirmed. |
Ok, let's change it in v3.2, @wdloveyy would you like to submit a PR ? |
我对您的项目整体理解不够深,在提交PR之前,需要好好研究一下您的项目,我必须谨慎,以免引起bug。我会在足够了解之后为该项目做出我力所能及的贡献,谢谢,还需要向您学习:smiley: |
@wdloveyy We will improve this feature in a few days. Would you like to submit PR ? |
不好意思,最近一直在忙,暂时没有时间,期待您对该功能的改进😃。 |
Environment
Test Code
Issue
在执行Test Code中的测试代码时,对docker中的rabbitmq执行重启命令(反复几次,模拟网络抖动等一些异常情况):
docker restart 0619 #重启rabbitmq服务
在等待将所有消息消费完成后,检查数据库中的消息数量,其中:
随后查看cap发布消息时的代码:
SendAsync方法核心的发布代码为:
并没有发现rabbitmq官网建议的发布确认相关逻辑:
rabbitmq官网对发布确认的描述
如果我的测试方法和测试代码有问题,请及时纠正我。
是我错过了什么吗?
请问cap时根据什么保证rabbitmq发布消息时的可靠性的呢?
The text was updated successfully, but these errors were encountered: