Rabbit mq 屬于 AMQP 標準的開源實現之一蚪燕,相對于 Kafka 而言,個人認為該標準過于復雜陳腐餐曹,當然對于企業(yè)級的需求一定程度而言是合理的,以下簡述 Rabbit MQ 中的一些基本概念
Producer
生產者敌厘,消息發(fā)送者
Consumer
消費者台猴,消息接受者
Broker
rabbit mq 的 server,負責消息接收與分發(fā)
Vhost
虛擬主機额湘,作為命名空間卿吐,對 exchange、queue 锋华、binding 等進行隔離管控嗡官,多租戶的基礎
Exchange
交換機, producer 發(fā)送數據到 exchange
有 4 種 exchange
- direct
消息根據 routingKey 決定分發(fā)到哪個 queue - fanout
同一條消息分發(fā)到 exchange 綁定的所有 queue - topic
根據 正則表達式匹配 routingKey 決定分發(fā)到哪個 queue - header
Queue
消息隊列毯焕,存儲 message 的地方衍腥,消費者指定對應的 queue 進行消費
Binding
綁定,將 exchange 和 queue 進行綁定并指定路由的 routingKey纳猫,生產者將消息投遞給 exchange婆咸,exchange 根據綁定的信息和路由 routingKey 將消息分發(fā)到對應的 queue