• RabbitMQ工作原理


    【大致流程】

    生产者Producer将消息发送给RabbitMQ Server/Broker里的交换机Exchange,交换机绑定有队列Queue,生产者在传递的过程中会携带路由键Routing_Key

    交换机根据路由键和指定算法找到对应的队列,将信息传递给消费者Consumer

    Producer ->Exchange->Queue->Consumer

    【队列Queue】

    先进先出(FIFO),具有缓存消息的能力,可以设置成持久化、临时、自动删除

    持久化:会保存在本地服务器磁盘

    临时:系统重启数据就会丢失

    自动删除:不存在用户连接到Server就删除

    【交换机Exchange】

    一个Exchange可以绑定多个Queue,根据路由键将消息传递到指定Queue

    有四种类型:

    Direct、Fanout、Topic、Headers

    Direct exchange:直连交换机,转发消息到routigKey指定的队列

    Fanout exchange:扇形交换机,转发消息到所有绑定队列(速度最快

    Topic exchange:主题交换机,按规则转发消息(最灵活

    Headers exchange:首部交换机

    Fanout:将消息转发给所有绑定的Queue,适用于新增业务,例如在原有用户注册基础上增加送积分活动

    Direct:根据路由键传递给和该路由键绑定的Queue里面去,一个路由键可以绑定多个Queue。适用于有优先级别的业务,可以集中资源去处理指定队列的消息

    Topic:一条消息发送给多个Queue,那么Exchange就会绑定很多的路由键,为了方便,发送指定规则的路由键主题交换机就可以

    【绑定Binding】

    Exchange和Queue是多对多关系

    记录编程的点滴,体会学习的乐趣
  • 相关阅读:
    学习web前端怎样入门?初学者赶紧看过来!
    web前端教程:CSS 布局十八般武艺都在这里了
    [zhuan]arm中的汇编指令
    adb命令
    [zhuan]使用uiautomator做UI测试
    [zhuan]java发送http的get、post请求
    Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法
    android getpost代码
    [转]Android 如何根据网络地址获取网络图片方法
    Android Json解析与总结
  • 原文地址:https://www.cnblogs.com/AduBlog/p/14442882.html
Copyright © 2020-2023  润新知