Twitter构建高度可靠的广告投放系统的经验教训


在设计、实施和运营起广告投放系统的两年中,我们学到了一些值得分享的东西:

首先,不可能为所有故障设计服务并为耗尽而设计。在容错的复杂性和各种故障的可能性之间找到平衡是很重要的。
例如,为了达到所需的 SLA,我们依靠数据和粗略估计来判断故障发生的可能性。然后我们开始使用适当的设计和工具来处理最有可能出现的错误事件(实例失败)。对于非常罕见的事件(一年不到一次),我们依靠简单的设计和人工干预。从长远来看,系统的简单性可能有助于服务的整体健康。 

其次,从长远来看,建立可靠的服务是有回报的。在过去两年的起搏服务运营中,我们能够保持服务的健康状态并提供新的功能和改进,而不会经常发生火灾。 

最后,设计阶段很重要。最初似乎时间被浪费在了生成文档而不是代码上。但设计反馈有助于确定项目的成功。

详细点击标题