问题
在抖音客户端实时获取评论消息业务中,从用户体验和实现成本考虑,下面最优方案是哪一个?
A. 客户端发送心跳时拉取评论消息;
B. 服务端收到评论消息后,直接推送评论消息数据到当前客户端;
C. 客户端定时拉取评论消息;
D. 服务端收到评论消息后,推送通知到当前客户端,触发客户端立即拉取评论消息。
解析
A 选项和 C 选项,都属于定时拉取方案,属于信箱模型,实时性低,不过实现简单(心跳方案实现更简单);
B 选项,服务端主动推送方案,属于电话模型,实时性高,但实现复杂;
D 选项,通知回调和拉取方案,属于BP机模型,实时性高,实现也简单。
上述 A 和 C 选项中的信箱模型, B 选项中的电话模型, D 选项中的 BP 机模型,详见《架构技能(十二):订阅模型》。
答案
D