美文网首页
消息队列

消息队列

作者: 此处应该有一个名字 | 来源:发表于2019-04-19 15:59 被阅读0次

    ?xml version="1.0" encoding="UTF-8"?

    ActiveMQ:Java语言写的   严格遵守 JMS java message service

    RabbitMQ:Erang  非Java系统的首选

    ZeroMQ:内存里用的,不支持持久化,金融场景比较多见

    RocketMQ:阿里巴巴开源中间件  专门Java系统

    Kafka:天生设计为分布式  很方便扩展  超高并发  10w+

    第一种:点对点

    先进先出

    第二种:发布订阅模型

    启动:

    activemqstart

    http://localhost:8161 admin admin

    消息队列处理消息的主程序就叫Broker

    ACK机制

    如果broker收到producer的消息,会有一个回传(ack),如果producer没有收到ack,会重新发一遍刚才的消息,如果超过限制的重试次数,会抛异常。

    broker发往consumer同理。

    幂等:多次调用 结果和一次调用一致

    场景:ack回传的时候网络故障,producer重试的时候带一个messageid,就能达到幂等

    consumer获取消息有两种方式:

    pull:轮询消耗资源,有延迟

    push:消息比较及时

    消息持久化

    kahaDB:消息先存在kahaDB中,如果断线重连就从这里读取

    topic 持久化订阅者  一直保持连接  

              非持久化订阅者  上线了再发送

    activeMQ 高可用

    主从:同一时间只有一个在运行,另一个准备状态。不能负载均衡,但一般不会丢失消息

    负载均衡:可能会丢失消息

    相关文章

      网友评论

          本文标题:消息队列

          本文链接:https://www.haomeiwen.com/subject/aaxcgqtx.html