对12月22日 BeeCloud服务延时说明

各位 BeeCloud 的用户,大家好。

    BeeCloud的多项服务在12月22日周五上午发生了大约1个小时的webhook服务延时。发生不稳定的时间为上午10:02至上午11:00。

在故障阶段受到重大影响的服务包括:支付api异步通知,退款api异步通知和打款api异步通知。正常的支付,退款与打款api调用服务未受影响。此次故障并未引起数据丢失或者数据损坏。

我们深知此次服务延时给用户造成了实质性的影响,我们对此深表歉意。我写这份说明的目的是为了向用户说明发生的事情,以及我们将如何改进产品和服务以降低类似事件发生的可能性。

此次延时原因是有几个客户在没有预期的情况下发生了比较高的并发(7000+/s),同时又给我们配置了错误的回调地址,当大量请求同时发生时,回调这些客户的webhook地址一直超时,导致回调池堆积,正常支付客户接收异步通知受到延迟。由于我们的回调池没有区分支付、打款和退款服务,在突发短暂高并发服务发生故障时,对其他几个API回调造成影响。我们的报警时间略有迟缓,等收到报警并处理问题的时候,已经对部分客户的api调用造成了一定时间的影响。

针对此故障,我们接下将做如下调整:

  • 异步通知服务拆分。不因单一服务偶发故障影响其他api回调故障影响。
  • 增加硬件配置,应对偶发超高并发服务,只能弹性增加硬件设施,保障服务稳定性
  • 增强报警机制,缩短报警监控周期,对故障技师的灵敏的做出应对策略,并对客户一些错误及时给予通知。
  • 增加智能的切换机制,对用户错误的地址智能判定,对错误地址做相应的存储机制,等客户恢复时再返回异步通知,减少正常客户的等待时间。

    我们肩上承载着为数万开发者提供稳定支付服务的责任。周五事故持续的一个小时也是所有 BeeCloud 的同事最难熬的一段时间。同时发生这样的事情让同为创业公司的我们非常地难受和惭愧。

       我们希望通过这个详细的报告让用户全面地了解整个过程,并将尽一切努力降低未来发生类似事件的可能性。虽然任何人都没有办法完全保证服务中断不会发生,但我们会采取一系列措施避免可预见的问题,并确保在发生意外的时候能更快地恢复。

 

                                                                                                                                             BeeCloud CTO 

                                                                                                                                              2017-12-23日