当前位置: 首页 > news >正文

架构师面试(三):订阅模型

问题

对【注册中心】【配置中心】【消息队列】和【IM】进行分析和抽象,可归纳出一个完整的业务模型单元,即【订阅系统】,下面关于实现订阅系统的几种模型的相关描述中,说法正确的有哪几项?

A. 信箱模型,即客户端定时对服务端进行轮询,实现简单,但实时性不高;信箱模型可基于 HTTP 或 TCP 协议实现;注册中心一般采用信箱模型做可靠性兜底策略;

B. 电话模型,即服务端主动推送数据到客户端,实时性很高,但实现复杂;电话模型可基于 TCP 协议或 http long pull 实现;IM 系统一般采用该实现模型达到高实时性的目的;

C. BP机模型,即服务端主动推送通知到客户端,从而触发信箱模型,实时性高,同时实现也简单;Zookeeper 和 Apollo 采用了该实现模型;

D. 扩展的信箱模型,即客户端实时对服务端轮询,只不过服务端有数据或超时后再返回;RocketMQ 采用了该实现模型。

解析

A:信箱模型,由客户端触发,服务端被动响应,容易落地;客户端无法及时感知服务端是否产生了消息,所以通过轮询方式获取,实时性不高;

      信箱模型通常基于 HTTP 或 TCP 实现,如果轮询周期比较长,可以采用短连接协议,轮询周期比较短时,可以采用长连接协议;

      注册中心客户端,一般通过启动时拉取 和 被服务端通知的方式获取服务方变更信息,为了提高可靠性,可通过信箱模型来兜底。

信箱模型见下图。

B:电话模型,由服务端触发,客户端被动响应,消息实时性比较高,但是落地相对复杂很多;(服务端只有一个,客户端有很多,服务端怎么存储客户端的连接信息?推送给客户端后,怎么确保客户端接收到了?各种异常信息怎么处理?......这些事情都需要服务端处理,相对复杂很多。)

      电话模型,通常基于长连接或短连接的长轮询方式,即 TCP 协议或 http long pull 实现;

      IM 系统一般会采用电话模型实现消息的推送。

电话模型见下图。

C:BP 机模型,包括三次交互,首先是服务端主动推送 “通知” 到客户端,然后触发客户端的【信箱模型】动作;

      BP 机模型同时具备了信箱模型和电话模型的优点,即实时性高,落地容易(服务端业务逻辑是被动响应方式实现的);

      Zookeeper 的 watcher 机制 基于 TCP 协议实现了通知的推送和数据的拉取;

      Apollo 基于 http long pull 实现了通知的推送 和 配置项的拉取。

BP 机模型见下图。

D:扩展的信箱模型,由客户端触发,服务端在产生消息或超时后返回,典型的开源案例就是 RocketMQ 的 pull 模型。 

答案

ABCD

相关文章:

  • Ubuntu中使用yum命令出现错误提示:Command ‘yum‘ not found
  • 【Elasticsearch】`nested`和`flattened`字段在索引时有显著的区别
  • 泛娱乐行业技术突围:AWS云服务如何重塑数字娱乐新生态?
  • Pandas:从一个DataFrame中直接索引赋值到另一个索引位置出错的Bug及其解决方案
  • 定时器——时基
  • 谈谈 wait 和 notify
  • Web项目测试专题(七)安全性测试
  • AI前端开发赋能自主创业:ScriptEcho助你乘风破浪
  • 前端布局的方式有哪些
  • Qt 中使用 ffmpeg 获取采集卡数据录制视频
  • K8s 证书认知(K8s Certificate Awareness)
  • 洛谷P8707 [蓝桥杯 2020 省 AB1] 走方格
  • HBuilderX中uni-app打开页面时,如何用URL传递参数,Query参数传递
  • Java 与设计模式(15):模板方法模式
  • 前端如何实现一个五星评价,鼠标滑动,前边星星颜色的变黄,后边的不变;
  • java后端开发day16--字符串(二)
  • 25/2/17 <嵌入式笔记> 桌宠代码解析
  • VisionMaster4.4 python脚本 图像处理 转换函数 爱之初体验
  • recent移除task时,结束其所有进程和service(全Android版本)
  • 日常开发中,使用JSON.stringify来实现深拷贝的坑
  • 第九届丝绸之路国际博览会在西安开幕
  • 新型基因编辑工具可精准嵌入完整基因
  • 携程:今年第一季度营业收入约138亿元,入境旅游预订同比增长超100%
  • 雀巢中国回应“巴黎水”丑闻报告:在中国销售的产品均符合相关法律法规要求
  • “高原笑匠”、西藏著名表演艺术家扎西顿珠去世
  • 上海电视节发布海报、宣传片:三十而励,光影新程