rabbitmq

erlang 面向并发编程

image

image

version: "3.1"
services:
  rabbitmq:
    image: daocloud.io/library/rabbitmq:management
    restart: always
    container_name: rabbitmq
        ports:
      - 5672:5672
      - 15672:15672
    volumes:
      - ./data:/var/lib/rabbitmq

image

image

rabbitmq 架构

image

image

默认 amqp default (生产者必定是将消息发送导exchange上)

image

image

image

image

image

image

生产者

image

image

消费者:

队列其他信息

image

简单队列

image

image

image

image

work队列

生产者

image

消费者:默认平均分摊

image

手动ack (根据消费能力指定消费能力)

image

image

发布订阅模式 publish/subscribe:

image

image

image

routing:

image

image

image

topic

image

image

整合spring-boot

image

image

image

image

spring-boot手动ack

image

image

image

消息可靠性

image

image

image

批量确认

image

image

异步确认

image

image

ps:确认只能保证消息发送导exchange不能保证exchange到queue

image

return机制

image

image

image

spring实现:

image

image

image

重复消费问题(避免消息重复消费)

image

php里 有A B 客户端,如果A客户端没有ack 但是断开连接了,数据会到B客户端重新消费

image

redis依赖 jedis

image

image

image

image

image

spring-boot实现

redis依赖

image

image

image

image

image

image

image

rabbitmq应用

image

image

image

image

image

image

image

image

image

image

image

Last Updated:
Contributors: 刘荣杰