• RabbitMq


    JMS—AMOP高级网络

    核心概念

    Message,消息头(route-key路由键)、消息体、

    Publisher,生产者生产消息—传给Exchange-->Broker

    Broker 消息代理(broker,queue)

    Exchange 交换器,接受消息并路由给服务器队列(Binding),绑定关系—route-key。

    Consumer 监听队列

    一个客户端只会建立一条连接

    一条连接,多个通道

    VHost,虚拟主机,将broker隔离开,为虚拟主机,以路径表示,/java,/php

    docker run -d —name rabbitmq -p xxx

    一堆业务端口

    后台管理系统,15672端口 创建相关

    exchanges,在管理后台创建exchange、创建queue、绑定queue

    交换机类型:根据分发策略不同,分为,

    Direct、路由键与队列名完全匹配,点对点,

    Fanout、广播,不处理路由键

    Topic、主题类广播,匹配一个topic进行广播,将路由键和绑定键的字符串切分,识别通配符,#(匹配0或多个) *(匹配一个),usea.news会发给usa.#,#.news

    headers(性能低,基本不用)

    Spring整合

    spring自动配置@RabbitAutoConfiguration

    properties配置spring.rabbitma.host port virtual-host=/

    开启功能 @EableRabbit

    使用AmqpAdmin创建exchange相关

    类DirectExchange、amqp.declereExchange,

    类Queue、amqp.declearQueue

    类Binding

    收发消息

    RabbitTemplate

    发自定义类的数据,使用configure 配置messageConverter

    对应类/方法监听消息@RabbitListener(queue={“name”})(监听那些队列)

    必须有@EnableRabbit

    方法上@RabbitHandler(重载不同消息)

    Queue,可以有多个监听,但是只能被消费一次

    接受消息,当前消息处理完,后接受下个消息

    可靠投递、消息确认机制

    Publisher->broker confirm Callback 抵达服务器

    publisher(exchange->queue) returnCallback 抵达队列

    consumer(queue->consumer) ack 抵达消费者

    配置机制

    spring.rabbitma.publisher-confirms=true

    spring.rabbitma.publisher-returns=true

    spring.rabbitma.template.mandatory=true //异步返回 returns结果

    //默认自动ack,不确定是否处理完

    spring.rabbitmq.listener.simple.acknowledge-mode=manual

    Config类中

    定制RabbitTemplate,setConfirmCallBack

    手动ack

    Channel.basicAck

    Channel.basicNack 不确认,要不要重新入队

    channel.basicReject,拒绝,重新发送给其他处理

    实际项目

    是否配置了手动ack,手动ack是不是都是非批量

  • 相关阅读:
    设计模式-组合模式
    了解 Oracle 中的主键和外键
    黄素单核苷酸小麦麦清白蛋白纳米粒|石杉碱甲乳清白蛋白纳米粒Huperzine-whey protein|化学试剂
    淘宝开放平台官方API接口获取淘宝app商品详情原数据,产品优惠券信息, 产品详情信息示例
    DB2存储过程如何编写和执行
    39. 组合总和
    Vue中el-table条件渲染防止样式乱掉
    顶级手机数据恢复软件 [2024 更新]
    【2014】【论文笔记】热可调谐THz波Goos-Hänchen——
    C语言指针
  • 原文地址:https://blog.csdn.net/zhangbinHn/article/details/126583396