• 消息中间件-RabbitMQ


    消息中间件
    1.采用异步处理模式
    消息发送者可以发送一个消息而且不用等待相应。
    消息接收者订阅或监听该通道。
    一条消息最终可以转发给一个或多个消息接收者。
    2.应用按程序和应用程序调用关系为松耦合关系
    发送者和接收者不必了解对方,只需要确认消息。
    发送者和接收者不必同时在线。
     
    1 点对点模型 PTP
    每个消息只有一个消费者
    发送者和接收者没有时间依赖
    接收者确认消息接收和处理成功
     
    2 发布-订阅模型 Pub/Sub
    多个消费者可以获得消息。
    发布者和订阅者之间存在时间依赖性。
    发布者需要建立一个订阅(subscription),以便消费者订阅。
    订阅者必须保持持续的活动状态接收消息,除非订阅者建立了持久的订阅。
    订阅者未连接时发布的消息将在订阅者重新连接时重新发布。
     
    (1)每个消息可以有多个订阅者
    (2)客户端只有订阅后才能接收到消息
    (3)持久订阅和非持久订阅
    消息中间件的使用情景。
    1、网站用户注册,注册成功后会过一会发送邮件确认或者短信。
    这种场景是发布订阅模式的。
     
    2、日志进行集中收集,用于计算pv,用户行为分析。
    小流量测试,版本a 98%流量,版本a.1 2%流量,最后根据集中日志收集,通过日志判断版本效果。
     
     
    3、数据复制案例
    将数据从源头复制到多个目的地,一般要求顺序或者保证因果。并且保证数据的完整性。
     
    用于跨机房数据传输,搜索,离线数据计算等。
     
    4、延迟消息发送和暂存
    (1)把消息中间件当成可靠的消息暂存地。
    (2)定时进行消息投递,比如模拟用户秒杀访问,进行系统压力测试。
     
    点对点模式
     
     
    5 消息广播
     
    比如电商,商品价格用cache,当数据变更之后由于网络原因,某个cache没有被更新到,就会出现问题。
    这个数据不一致的问题就可以通过消息中间件来解决。
    现在分布式一般都用租约的方式。
     
    发布订阅模式
     
    消息中间件分类:
    1 (push)推送消息模型:消息生产者将消息发送给消息传递服务,消息传递服务又
    将消息推送给消息消费者。
    消息存储到消息中间件中,保存推送记录,保存订阅关系,消费者负载均衡就是均衡推送给消费者。
     
    2(pull)拉消息模型:消费者请求消息服务接收消息,消息生产者从消息中间件拉该消息。
     

    RabbitMQ

    关键字:

    ExchangeType类型
    直接交互式
    广播式路由键
    主题式交换器
     
    RabbitMQ常用配置

    RabbitMQ.config配置例子:

    Rabbitmq常用命令

    reload就是不停止服务的时候对配置更改生效。

    未完待续

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    C语言qsort函数算法性能测试
    文档流 css中间float clear和布局
    EasyUI Combobox 默认设置
    碳化硅资料整理
    hdu 4864 Task(贪婪啊)
    tiny210——uboot移植Makefile文章分析
    规则字符串大小比较?
    js产生随机数
    四个好看的CSS样式表格
    request的setAttribute()怎么用的?
  • 原文地址:https://www.cnblogs.com/ArmoredTitan/p/RabbitMQ.html
Copyright © 2020-2023  润新知