
rabbit
驰愿
这个作者很懒,什么都没留下…
展开
-
记录一次 RabbitMQ 内存一直涨的问题
分布式游戏框架上线运行一周,发现服务端的内存每天都在涨。虽然使用win30 API 强制回收垃圾,也很快就涨回来了!查看消息队列,没有消息积压。开始以为是rabbitmq的问题也没有太在意。直到打开测试服务端,发现测试服务器端已经不工作了,rabbtmq 罢工。内存占用1.3G。用win30 API 释放内存后,任务管理器显示占用内存60MB。但是启动服务端程序,可以连接上rabbitmq 却无...原创 2019-12-02 20:15:35 · 8505 阅读 · 1 评论 -
c# rabbitMQ 基本应用
链接rabbit连接rabbit声明交换机声明消息队列/删除消息队列绑定队列/交换机发送消息接收消息事件功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowc...原创 2019-06-22 14:13:17 · 2888 阅读 · 1 评论 -
c# Rabbit 消息确认机制
如何保证消息一定被消费者接收?如果,发送成功 + 接收成功 那么就能保证消息一定被消费者接收。有些时候,我们希望消息被及时处理(客户端及时响应),那么应该再加上消息超时机制。当消息处理超时时提示玩家服务器繁忙(这种情况应该很少,还是可以接受的)发送确认使用 AMQP事务 来确认消息发送//开启事务channel.TxSelect();//事务提交channel.TxCommit()...原创 2019-06-22 17:36:15 · 1063 阅读 · 0 评论 -
rabbit ConfirmSelect引发的血案
我在发包时使用 Confirm 模式处理消息确认, 在发消息时使用了锁,在处理接收到的消息时使用了同一把锁,导致了死锁的产生。产生死锁的原因 ConfirmSelect 会等待消费者的收包事件处理完成,注意是处理完成而非收到消费者的确认信号。伪代码生产者:lock(lockobj){ 代码1 ConfirmSelect(); //开启确认模式 代码2}消费者代码...原创 2019-07-01 11:56:46 · 1243 阅读 · 1 评论