Rabbitmq-Message Queue
Rabbitmq 学习
1. 功能点
Rabbitmq消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,也可以把它用于系统间服务的相互调用(RPC).消息中间件主要用于组件之间的解耦,也是处理高并发过程中的一种比较常用的手法。
2. 应用
2.1 producter
内容生厂
2.2 consumer
内容消费
2.3 exchange
路由器
2.4 queue
处理队列
exchange exchange type
direct
default_exchange
conn = Bunny.new.tap do |c|
c.start
end
fanout # subscribe, 一对多
topic # 多对多
RPC
header
2.5 queue
quene name
q = ch.queue("", :exclusive => true) # 暂时队列,名字是随机生成
2.6 binding key and roting key
queue.bind(x, :routing_key => routing_name_or_routing_reg)
routing_reg:
*.orange.* -> "*" only matches a single word
*.orange.# -> matches all words
2.7 ack
消息确认机制
2.8 durability
消息持久化机制
2.9 Prefetch count
消息处理平衡机制