
RabbitMq
FuSh1
这个作者很懒,什么都没留下…
展开
-
RabbitMQ 使用 QOS + Ack 解决内存崩溃问题
通过QOS使得每个消费者在同一时间处理一条消息。在未收到这个消费者Ack前是不会发送新的消息给此消费者。 var _client = connection.CreateModel(); _client.BasicQos(0, 1, false); var consumer = new EventingBasicConsumer(_client); consumer.Received += (model, ea) => { _client.BasicAck(ea.Del原创 2022-02-11 08:52:00 · 1207 阅读 · 0 评论 -
.Net 使用 RabbitMQ中的几个细节
1、使用 ConnectionFactory 创建 IConnection 时,如果有多线程的情况下,比如会有多个Consumer,需要加锁,同时确保 Connection 对象唯一,可以使用单例模式。 public bool _isConnected => _connection is { IsOpen: true }; 在RabbitMQ 持久化时,可以用到 Polly 第三方库中的 Policy 做连接失败重试。 if (_isConnected) return; lock(ob.原创 2022-02-10 17:31:34 · 891 阅读 · 0 评论