交易故障报告

2020-02-17

过去一周对于币安而言是艰难的一周。原本在过去一周,加密货币和交易平台都形势喜人:比特币价格上涨,交易平台交易量和收入亦有增长。但对币安的一些用户和币安工程师来说,这是艰难的一周。我们的平台遇到了一些延迟显示问题,给大家使用带来了不便。对于币安社区来说保持透明和公开是非常重要,对我来说也一样,因此我将公开我们遇到的问题细节。

比特币价格在过去与现在都曾达到过1万美元,然而不同之处在于,现在的用户数量之庞大已非昔日可比。虽然这对加密货币市场来说是强烈的回暖信号,但同时也对我们的系统增加了极大负荷。

在过去几天里,我们主要遇到了两个问题:

1. 用户界面间歇性显示“请求过多”“ 5xx内部故障”和API超时错误等。这是因为我们的中间层服务迅速过载。大多数遇到此情形的用户都会多次重试,这又进一步增加了系统负荷。我们通过增加服务扩容的方式在短期内解决了这一问题。然而,这个方式是有局限性的。因为这个模块非常复杂,所以不能很好地自动缩放。新的机器需要几分钟初始快照的同步,才能处理正常流量的请求。我们其实已经在解决这一问题,但不幸的是在部署完成之前就遇到了极大的峰值压力。我们已将这个问题列为优先事项,并且计划在接下来几天将其彻底解决。此外,客户端的优化也可以改善错误处理的能力,而且不会进一步增加系统负荷。

2. 市场数据/订单/余额更新延迟。我们的消息中间件也出现了很多问题。其中一个消息中间件模块通常每秒可以发送2.5GB+的数据,但在交易峰值时吞吐量突然下降了100倍,引起消息大量堆积,导致交易深度数据和用户余额更新延迟。在另一个事故中,一个kafka集群在负载在过载的情况下,多个高可用节点异常退出,只剩下一个实例高负荷处理数据。我们通过重启kafka集群的方式临时解决了这一问题。而中期解决方案是将数据根据类型分流到不同的kafka集群处理。预计这个方案可以将吞吐性能提高10倍左右,该方案将于本周推出;进一步改善性能的长期解决方案也在酝酿中。

总体看来,过去两年熊市时我们推出了很多功能,并在测试环境中不断进行压力测试。但测试环境与真实环境并不一样,因为我们在全球有数千万用户。我们不断的增加功能的同时,也不断的给很多各种模块增加负载,使得我们本来以为有10-100倍性能余量,实际上却只有3-5倍了。而市场的火爆行情带来的瞬时交易峰值很容易达到10倍以上,而不是3-5倍。

好消息是,这些都是我们可以解决的问题,也是我们解决过的问题。我们的基础架构非常坚固,我们拥有业内最好的、能力最强的团队,我们一起经历过更多更大的困难,但我们战胜了。接下来我们将通过短、中、长期的方案快速解决这些问题,我不能保证从今天起便可以一劳永逸。我们在未来一定还会遇到新的其他问题,但我知道我们能迅速解决它们。

是的,创业就是这样,总会波澜起伏才完整,与其说币安一帆风顺,不如说是币安具有很强的解决问题的能力。在币安二年多并不算长的发展历程中,我们曾遭遇过许多前所未有的挑战,我们也成功战胜了它们。我们都知道币安走到今天不是偶然的,我们完成了许多具有开创性的工作。我们并不为币安的成就骄傲,我们为成功克服了困难同时保护了用户而感到骄傲。

如果您在Binance.com上的交易,因为币安的问题直接使您受损,请尽快在这里提交客服需求工单,并提供详情供币安团队审核,因为每一个客户我们都会核查您的账号下单细节,可能响应需要一些时间,请给我们一些时间。

我们始终相信区块链世界透明公开才是基础,我们并不畏惧错误和困难,更重要的是我们有着承担责任的勇气和能力;保护用户的利益是我们的价值准绳,在系统持续优化的同时,我们会努力保持透明度持续给您更新相关信息,感谢您对我们的支持。我为此造成的不便向广大用户致歉。和以前一样,大家可以继续在Twitter上关注我的更新。

- CZ, 币安CEO