
RabbitMQ
文章平均质量分 59
wubinbaoyi
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
rabbitmq 3 entities之exchange
exchanges, routing key and queues exchanges: exchange attributes: exchange type:4种,direct exchange,amq.direct; fanout exchange, amq.fanout; topic exchange, amq.topic and headers exchange, amq.ma原创 2017-12-26 20:01:18 · 216 阅读 · 0 评论 -
rabbitmq 3 entities之 queue
queue attributes:类似exchange的属性 name:队列的名字 durable:为true时,broker重新还在 exclusive:为某一个connection所独有的,当此connection 关闭的时候,queue也会被删掉 auto-delete:当没有consumer 订阅到此queue时,此queue会被删掉 arguments:为plugin和brok原创 2017-12-26 21:02:44 · 146 阅读 · 0 评论 -
rabbitmq 3 entities之 binding
Binding: 绑定exchange和queue,用来指示怎么route message到哪个/哪些queues, 对于direct exchange,binding通过routingkey,对于fanout exchange,routingkey无效,所有绑定的到此exchange的queue都会接受到deliver到此exchange的messages。对于 topic exchange,b原创 2017-12-26 21:26:07 · 232 阅读 · 0 评论 -
rabbitmq之Message durability
消息持久性,通过consumer的ack机制,可以保证在message没有完全处理完之前,就出现consumer crash/ connection,channel close的场景下,message不会从queue里删掉,requeue,redeliver给下一个valId binding的consumer。 但是当broker server crash或者RabbitMQ server st原创 2017-12-27 16:17:43 · 4597 阅读 · 0 评论 -
rabbitmq之Fair dispatch
正常情况下,rabbitmq server(broker)会盲目地,按照message数目平均地分发message给consumer,而不考虑有的message处理起来比较耗时,有的处理起来很快, 场景问题是,假设有两个consumers,consumerA和consumerB,4条messages,evenly, message1,message3会分发给consumerA去处理,messag原创 2017-12-27 16:43:37 · 482 阅读 · 0 评论 -
rabbitmq之 Publish/Subscribe
应用场景:把一条message 发送给多个consumers去处理 相关元素: exchange: 使用exchange type fanout,定义新的exchange和新的名字,不用默认的empty string exchange direct type。 queue: 定义queue,server 会自动跟生产的queue一个临时的名字,只所以定义queue时不给名字,是因为正常的qu原创 2017-12-27 21:19:47 · 207 阅读 · 0 评论 -
rabbitmq之routing
routingkey 和 bindingkey routingkey:producer 发布message 通过basicPublish方法,其中有一个exchange 参数用来指定发送到哪个exchange,一个参数routingkey,用来指定exchange接收到message后,发送给哪个binding在此exchange的queues (queue binding到exchange有个原创 2017-12-28 16:18:09 · 422 阅读 · 0 评论 -
rabbitmq之topic
topic exchange:能够route message 基于多个标准(相互独立的多重意义/标准),每个标准以dot分隔,匹配是合并式,全部满足才算匹配成功。 比如message发布时的routingkey是quick.orange.rabbit (注意中间的dot),bindingkey是*.orange.rabbit 或者*.orange.*或者*.*.rabbit等等都是算匹配成功的原创 2017-12-28 16:42:45 · 285 阅读 · 0 评论 -
rabbitmq之RPC(remote procedure call)
Request-Reply pattern:http://www.enterpriseintegrationpatterns.com/patterns/messaging/RequestReply.html 之前研究的生产者/消费者模式都是单向的,生产者生产message,消费者消费message RPC则是双向的,消费者消费完message,返回result给生产者。 这样,就存在原创 2017-12-28 19:08:53 · 217 阅读 · 0 评论