最初,我们通过一个提供商(例如提供商 A)发送所有短信。如果提供商 A 开始出现问题,Notify 会自动将所有流量交换到提供商 B - 这一过程称为故障转移。我们使用 2 个指标来判断提供商是否出现问题并进行故障转移。我们测量了:
来自提供商的单个 500-599 HTTP 响应代码
成功投递回调速度减慢(提供商返回一条消息,表明已将消息投递给收件人)
为了确定回拨是否缓慢,我们会测量发送消息的最 黎巴嫩 WhatsApp 号码 后 10 分钟。如果 30% 的消息需要超过 4 分钟才能报告已送达,我们会认为回拨缓慢。
我们还可以根据需要手动将流量从提供商 A 切换到提供商 B。我们经常这样做,大概每周一次,以尝试在每个提供商之间实现大约 50/50 的消息分配。如果我们最终在长期内只通过一个提供商发送少量消息,那么他们可能不会有太大动力在未来成为提供商。