作者:mobiledu2502924873 | 来源:互联网 | 2023-05-18 19:54
RabbitMQ(Erlang语言):amqp协议通信,生产者和消费者不受语言限制。队列生产者(Producer):新建连接->建通道(channel)->声明消息队列(队列名称、默认
RabbitMQ(Erlang语言):amqp协议通信,生产者和消费者不受语言限制。队列
生产者(Producer):新建连接->建通道(channel)->声明消息队列(队列名称、默认交换器exchange、queueDeclare)->通道发消息(publish)->关通道->关连接
消费者(Consumer):新建连接->建通道(channel)->声明消息队列(队列名称、默认交换器exchange、queueDeclare)-> 重写DefaultConsumer的handleDelivery方法接收消息(通道绑定consumer)
4种交换器:direct(routingkey、bindingkey)、topic、fanout、headers
Kafka:topic,键值保存数据(apache)
配合ZooKeeper分布式
生产者:定义topic的名字,map的生产者,send发送
消费者:可以订阅subscribe多个topic,通过poll拉取消息
消费者组:分到各个实例(负载),如果同组消费者,一条消息只会有组里的一个消费者接收到,祖内其他消费者收不到;如果属于不同组消费者,不同组一个实例都可以接收到并消费,广播事件。