• RabbitMQ:二、客户端开发向导


    建立Connection,创建Channel,注意Channel不能在线程间共享(非线程安全)


    创建交换器和队列

    消费者消费消息支持推和拉两种模式

    • 推:通过consume方法订阅队列
    • 拉:通过channel.basicGet方法获取消息
      一旦consume以后,channel会被置为接收模式,直到取消队列的订阅为止,这期间RabbitMQ会不断地推消息给消费者。如果只获取单条消息,建议使用拉的模式,但是持续消费的时候需要使用推的模式来提高吞吐量,用循环拉的模式会影响RabbitMQ的性能。

    消费端确认和拒绝

    消费者订阅队列(Consume)时可以指定autoAck参数,当autoAck为false时,RabbitMQ会等消费者显式地回复确认信号后才从内存(或磁盘)移去消息(实质上是先打上删除标记,之后再删除)。当autoAck为true时会自动确认,然后删除消息。
    当autoAck 参数置为 false ,对于 RabbitMQ 服务端而言 ,队列中的消息分成了两个部分:一部分是等待投递给消费者的消息;一部分是己经投递给消费者,但是还没有收到消费者确认
    信号的消息。 如果 RabbitMQ 直没有收到消费者的确认信号,并且消费此消息的消费者己经
    断开连接(断开连接是唯一标准,不会超时),则 RabbitMQ 会安排该消息重新进入队列,等待投递给下 个消费者,当然也有可
    能还是原来的那个消费者。

    参考:RabbitMQ实战

  • 相关阅读:
    正则表达式例子
    addevent兼容函数 && 阻止默认行为 && 阻止传播
    addevent
    区分总结innerHeight与clientHeight、innerWidth与clientWidth、scrollLeft与pageXOffset等属性
    setattribute兼容
    随机分配位置
    浏览器类型
    统计一个字符串中相同字符的个数
    Appium发送中文或其他语言的问题
    Appium同时连接多台手机进行测试(多线程)
  • 原文地址:https://www.cnblogs.com/fcb-it/p/12977498.html
Copyright © 2020-2023  润新知