待更新……
Notify | Metamorphosis | |
模型 | Push | Pull |
服务端 | 消息存储
处理请求 保存推送轨迹 保存订阅关系 消费者负载均衡 集中式 |
消息存储
处理请求 分布式 |
客户端 | 处理响应和请求 | 处理响应和请求
保存pull状态,如拉取位置的偏移量offset 异常情况下的消息暂存和recover |
实时性 | 较好,收到数据后可立即发送给客户端 | 取决于pull的间隔时间 |
消费者故障 | 消费者故障情况下,服务端堆积消息,重复推送耗费资源。
保存推送轨迹压力很大。 |
消费者故障,对服务端无影响 |
其他 | 对消息推送有更多控制,能实现多样化的推送机制。
当消费者数量增多的时候,推送压力大,性能天花板。 消费者处理能力差异,导致堆消息 |
需要在客户端实现消息过滤,浪费资源。
需要在不同客户端之间协调,做负载均衡。 |
Notify 淘宝百科:http://baike.corp.taobao.com/index.php/Notify
(【对比】Metamorphosis淘宝百科:http://baike.corp.taobao.com/index.php/Metamorphosis-User-Guide)
Notify Wiki:http://gitlab.alibaba-inc.com/notify/notify1/wikis/user-manual
(【对比】Metamorphosis Wiki:http://gitlab.alibaba-inc.com/middleware//metaq3/wikis/metanotes)
Notify 学习视频:http://xue.alibaba-inc.com/trs/mediaDetail.htm?mediaUid=1ac893ae-01e1-4f64-a863-5f5a5f575b34
《Taobao Notify Overview》:http://baike.corp.taobao.com/images/e/eb/Taobao_Notify_Overview.pptx
《Notify Principle》:http://baike.corp.taobao.com/images/2/24/Principle.pptx