zoukankan      html  css  js  c++  java
  • rabbitmq

    1. 概述

    1. 与 rabbitmq 做交互

      1. amqp 最著名的实现
    2. 与 jms 最明显的区别

      1. 消息
        1. 不是去找 queue
        2. 而是去找 exchange

    2. rabbitmq

    1. 基本组件

      1. sender
        1. 发送者
      2. receiver
        1. 接收者
          1. 从 queue 里接受消息
      3. broker
        1. 概述
          1. 队列服务器, 中间件
        2. 组件
          1. exchange
            1. 作用
              1. 接受 消息
              2. 转发消息
          2. binding
            1. 貌似是 queue 的一个属性
          3. queue
            1. 存放消息, 等待消费
    2. 与 jms 的区别

      1. jms

        1. 分发
          1. 直接将消息分发到 queue
        2. 消息
          1. 携带着 目的地址
      2. rabbitmq

        1. 分发
          1. 有着相对复杂的规则
          2. 规则根据 exchange 和 消息携带的信息, 进行转发
        2. 消息
          1. 不携带 目的 queue
          2. 携带的是 routing key
    3. 消息的活动路径

    4. exchange 简述

      1. default
        1. 默认创建
        2. 知道 broker 里所有的 queue
        3. 转发
          1. 找到 消息里 routing key
          2. 找到 queue 名称
          3. 如果相同, 就发过去
      2. direct
        1. 类似 default
          1. 这次比对的, 是 消息的 routing key 和 queue 的 bingding key
      3. topic
        1. 类似 direct
          1. 不过区别是, 转发的次数, 可能会有很多
            1. 支持 binding key 正则匹配
      4. fanout
        1. @所有人
      5. header
        1. 类似 topic
          1. 不过这次的判定依据, 是 消息的 header 与 binding key
      6. dead letter
        1. 类似 java 的 catch
          1. 转发那些有问题的消息
    5. 我的认识

      1. message

        1. 属性

          1. header
          2. 内容
          3. 发送时指定
            1. routing key
            2. exchange
        2. jms

          1. jms 的消息, 貌似没有这么多属性
          2. 地址 都是在发送时候由 template 指定的
            1. 不过连接字符串倒是已经配好了的
      2. queue

        1. 属性
          1. name
          2. binding key
          3. queue
      3. 消息的路径

        1. 使用特定的 假设有个 template 与 broker 通信
          1. 感觉通常 一个 template 对应 一个 broker
          2. 一个 broker 对应一个 exchange
        2. 到了 exchange 后, 与 规则匹配, 然后转发
    尽量尝试解释清楚; 自己校对能力有限, 如果有错误欢迎指出
  • 相关阅读:
    nodejs-supervisor
    javascript数组操作(创建、元素删除、数组的拷贝)
    mysql索引优化-order/group
    php-kafka
    大流量高并发解决方案
    MySQL数据类型和常用字段属性总结
    php一致性hash算法
    面试中的排序算法总结
    PHP的运行机制与原理(底层)
    Mysql中的锁机制
  • 原文地址:https://www.cnblogs.com/xy14/p/11808879.html
Copyright © 2011-2022 走看看