2013年,雅虎在其各项服务中共有8亿活跃用户。彼时,雅虎提供邮件、相片存储、新闻、社交媒体、聊天及梦幻运动等服务。为了满足用户的需求和打造世界一流的服务,雅虎从基础设施的角度上解决底层架构问题。雅虎把公司的消息系统架构当作最需要提高的部分。在以服务为导向的架构中,雅虎的消息系统帮助所有组件扩展,并提供低延迟原语以简化所有服务的可扩展性(如图3-1所示)。新的消息平台需要具备以下几个最为关键的特性:
灵活性
雅虎使用队列、发布/订阅及流模式,它希望新的消息平台可以无缝支持这几种应用场景。
可靠性
雅虎致力于提供99.999%的可靠性,新的消息系统至少需要达到这个等级的可靠性。
性能
雅虎的聊天、邮件等服务及广告平台需要极低的端到端延迟。
图3-1 雅虎的搜索、新闻、体育及邮件业务由服务、数据库和队列等后端基础设施支撑
在评估了各类现有的消息技术后,雅虎认为所有开源或现成的方案都无法满足其需求或支撑雅虎的规模。于是,雅虎决定构建一个能满足其需求的系统,并设计开发了 Pulsar的最初版本。
2015年,雅虎部署了第一个Pulsar集群,很快用Pulsar替换了公司已有的消息基础设施。2017年,雅虎将Pulsar开源并把项目捐赠给了Apache软件基金会。