4.2 发后即忘模型1.警告通知2.并行处理3.用 RabbitMQ 实现 RPC 并等待响应
RPC:使用rabbit来实现RPC时,你只是简单的发布消息而已。rabbitmq会负责使用绑定来路由消息到合适的队列。rpc服务器会从这些队列上消费消息。rabbitmq替你完成了所有工作:将消息路由到合适的地方,通过多台rpc服务器对rpc消息进行负载均衡,甚至当处理消息的服务器崩溃时,将rpc消息重发到另一台。私有队列和发送确认:由于amqp消息是单向的,rpc服务器如何才能将结果返回给原始客户端呢?由于rabbit处于中间环节,rpc服务器甚至都不知道客户端调用者的身份(除非在消息内放入特定的id)。rabbit团队的方案:使用消息来发回应答。在每个amqp消息头中有个字段叫做 reply_to。消息的生产者可以通过该字段来确定队列的名称,并监听队列等待应答。然后接受消息的rpc服务器能够检测 reply_to 字段,并创建包含应答内容的新的消息,并以队列名称作为路由键。你也许会想'关每次创建唯一队列名就得花很多功夫吧'。我们怎么阻止其他客户端读到应答消息呢?如果你声明了没有名字的队列,rabbit会为你指定一个。这个名字恰好是唯一的队列名;同时在声明的时候指定 exclusive参数,确保只有你可以读取队列上的消息。所有的rpc客户端需要做的是声明临时的,排他的,匿名的队列,并将该队列名称包含到rpc消息的 reply_to 头中,于是服务器就知道应答消息发往哪儿了。值得注意的是我们并没有提到应答消息绑定到交换器上,这是因为rpc服务器将应答消息发到rabbit时没有指定交换器,rabbit就知道目的地是应答队列,路由键就是队列的名字。

4.1 解耦风雨路:谁将我们推向消息通信

4.RabbitMQ实战 --- 解决Rabbit相关问题:编码与模式,RPC相关推荐

  1. RabbitMQ实战教程

    RabbitMQ实战教程 1.什么是RabbitMQ 1.1 MQ(Message Queue)消息队列 1.1.1 异步处理 1.1.2 应用解耦 1.1.3 流量削峰 1.2 背景知识介绍 1.2 ...

  2. rabbitmq实战指南_RabbitMQ之脑裂

    点击上方蓝色字体,选择"设为星标" 9 10 本文总结<RabbitMQ实战指南>网络分区章节,并亲自实践才有这篇文章,手动处理章节详细记录了操作过程中的注意事项.如果 ...

  3. 《RabbitMQ 实战指南》第五章 RabbitMQ 进阶(下)

    <RabbitMQ 实战指南>第五章 RabbitMQ 进阶(下) 文章目录 <RabbitMQ 实战指南>第五章 RabbitMQ 进阶(下) 一.持久化 二.生产者确认 1 ...

  4. RabbitMQ实战笔记

    RabbitMQ实战笔记 1 MQ引言 1.1 中间件技术及架构的概述 1.2 什么是MQ 1.3 为什么要用MQ 1.4 MQ的分类 1.5 MQ的选择 2 RabbitMQ 的引言 2.1 Rab ...

  5. RabbitMQ实战:可用性分析和实现

    为什么80%的码农都做不了架构师?>>>    本系列是「RabbitMQ实战:高效部署分布式消息队列」书籍的总结笔记. 上一篇介绍了各种场景下的最佳实践,大部分场景可以使用「发后即 ...

  6. 《RabbitMQ实战指南》笔误及改进记录

    2017年12月上旬笔者的一本新书--<RabbitMQ实战指南>上架,里面的校稿都是自己独自完成的,一共进行了15遍,但还是会有漏网之鱼.本篇博文用来记录现在发现的一些笔误,一是给购书的 ...

  7. RabbitMQ实战经验分享

    RabbitMQ实战经验分享 原文:RabbitMQ实战经验分享 前言 最近在忙一个高考项目,看着系统顺利完成了这次高考,终于可以松口气了.看到那些即将参加高考的学生,也想起当年高三的自己. 下面分享 ...

  8. 《RabbitMQ 实战指南》第三章 客户端开发向导

    <RabbitMQ 实战指南> 文章目录 <RabbitMQ 实战指南> 一.简介 二.连接 RabbitMQ 三.使用交换器和队列 1.exchangeDeclare 方法详 ...

  9. 《RabbitMQ 实战指南》第二章 RabbitMQ 入门

    <RabbitMQ 实战指南> 文章目录 <RabbitMQ 实战指南> 一.相关概念介绍 1.生产者和消费者 2.队列 3.交换器.路由键.绑定 4.交换器类型 5.Rabb ...

  10. Spring Boot实战解决高并发数据入库: Redis 缓存+MySQL 批量入库

    前言 最近在做阅读类的业务,需要记录用户的PV,UV: 项目状况:前期尝试业务阶段: 特点: 快速实现(不需要做太重,满足初期推广运营即可) 快速投入市场去运营 收集用户的原始数据,三要素: 谁 在什 ...

最新文章

  1. 存储时间:高清3D化,技术应用化?
  2. Android自定义ScrollView
  3. 腾讯这家公司的核心竞争力是什么?为什么?
  4. redis 备份导出rdb_redis简单安装学习
  5. Python 增删改查
  6. window.location跳转页面
  7. 电脑桌面整个都变大了_三招拯救你的电脑桌面,堪比整容!
  8. jzoj6310-Global warming【线段树,LIS】
  9. centos7 編譯 chmsee
  10. Maven中安装本地Jar包到仓库中或将本地jar包上传
  11. 异步生成器_异步生成器作为状态管理的替代方法
  12. 刷新iframe页面
  13. 1002.写出这个数
  14. SQL 日期函数的使用方法
  15. 嵌入式驱动开发学习路线
  16. Linux性能统计工具
  17. 动态规划(一)——矩阵连乘
  18. sql 转换 不足位数补0
  19. MCS-51指令系统
  20. Cluster04 - Ceph概述 部署Ceph集群 Ceph块存储

热门文章

  1. Python常见陷阱
  2. Django基础—— 4.项目目录结构
  3. selenium问题记录
  4. [恢]hdu 2062
  5. ASP.NET中进行消息处理(MSMQ) 一 (转)
  6. 数据分析五板斧与里面的屠龙刀(上)
  7. 图形交互界面_室内量房APP哪家强?5款软件深度测评(界面UI体验篇)
  8. ORACLE 登录相关的信息
  9. 剑指offer python版 构建乘积数组
  10. SQL知识点脑图(一张图总结SQL)