摘要:“区块链作为核心技术自主创新的重要突破口,明确主攻方向,加大投入力度,着力攻克一批关键核心技术,加快推动区块链技术和产业创新发展。” 10月25日,在官方的利好消息刺激下,以BTC为首的主流数字货币从晚间开始不断攀升,交易量也随之暴增,btc最终走到10588的高点,日内涨幅近40%。(数据来源:A ...

“区块链作为核心技术自主创新的重要突破口,明确主攻方向,加大投入力度,着力攻克一批关键核心技术,加快推动区块链技术和产业创新发展。”

1025日,在官方的利好消息刺激下,BTC为首的主流数字货币从晚间开始不断攀升,交易量也随之暴增,btc最终走到10588的高点,日内涨幅近40%(数据来源:AICoin

面对突如其来的超级行情,很多交易所发生了各种问题,如宕机,插针,Overload等。24小时成交量超47亿美金的Bybit,是如何顺利应对这场超级行情呢?BIT君从以下几个方面,为大家介绍。(数据来源:CoinGecko

高性能/高吞吐

Bybit的下单、撮合、行情、持仓、风控、推送等所有核心服务都是用性能非常高的C++Golang语言开发,全部是纯内存设计,epoll网络接入。撮合是交易所最核心的部分,必须追求极致性能。所以采用了全球领先的LMax交易所发明的Disruptor内存无锁队列,以及内存零拷贝等技术。单线程单币种能做到每秒10TPS,即意味着单笔撮合20微秒完成。

事实上,我们去掉调试日志后压测已经到了30+TPS,并且可以根据未来需要调优到每秒百万级TPS。除了撮合必须是单点完成,下单等服务都采用了sharding方式,部署了很多台服务器,以便扛住更大的吞吐量。对每个用户来说,也有独立的下单队列,避免某些高频交易用户订单量特别大从而影响了其他用户下单。

值得一提的是,永续合约的下单逻辑要远比币币交易来的复杂,因为涉及到合并仓位的保证金计算,为了提升保证金利用率,只占尽可能少的保证金,所以计算逻辑就非常复杂,一个订单下去要综合所有的持仓和活动委托一起来计算保证金,除此之外还有只减仓、只挂单、强平减仓等复杂的策略和逻辑。这些复杂的业务逻辑也给提升性能带来了很大的挑战。

图片1.png


高可用

Bybit目前已经做到了99.99%的可用性,即一年的不可交易时间小于52分钟。要做到四个9的可用性,就必须做到以下几点:

1)在线维护&热更新

大多数交易所在做系统维护和大版本升级的时候都需要停机几小时,导致无法交易,用户体验糟糕。Bybit做到了所有的维护和升级都必须在线完成,做到绝不主动性停机。这对技术架构、迁移方案、程序开发&测试、运维管理的要求都非常高,所有数据迁移、服务重启、运维变更等都必须做到平滑,让用户无任何感知。

事实上,我们每周都会进行大大小小的3-5次系统迭代升级或变更,用户几乎感知不到,除非是对用户体验或者功能做了变更。几乎所有的交易所都有公告栏,但Bybit直到现在都没有,很大一部分原因就是我们不需要公告系统维护。

2)灾备架构、Auto Failover(自动灾备切换机制)

对于大规模的服务来说,经常会遇到程序异常退出或重启、服务器硬件故障、网络故障等各种错误和灾难。要在发生这些灾难的时候做到服务连续可用,所有的服务必须部署多份,或者做成集群。

当发生异常和灾难时,必须能够自动实现服务切换或者灾难恢复,这样才能保证比较高的可用性。Bybit内部有多个服务集群,当服务切换时,程序能够根据消息序号和内存dump文件完美地做到无缝切换。


图片2.png

3)灰度发布

即先发布给少量用户体验(用户也可能无感知),当体验一段时间没问题的话再逐步扩大用户范围,直到全量发布给所有用户。这样可以减少新功能或新系统可能存在问题,大大降低影响范围。

4)立体化监控

包括硬件、网络、服务(健康状况、性能指标、访问次数和频率、错误异常等)、客户端(错误异常、页面性能、网络状况、软硬件环境等)、业务指标(注册量、访问量、下单量等)。

Bybit会监控一切有价值的指标,通过事前预警、事后快速响应,针对不同级别的问题通过邮件、短信、电话等不同告警方式给到相对应的负责人。

高可靠

高可靠主要是指数据的高可靠性,必须在任何情况下保证用户数据的正确性,以及不能丢失。所有的数据必须冗余多份,并且在发生这些灾难的时候能够丝毫不差地恢复出来,即RPO要做到0,不允许任何数据丢失。

尤其对于有状态服务来说(内存中有大量数据),内存数据丢失时要完全恢复出来并不是一件容易的事情。但Bybit所有核心服务都做到了0 RPO和数秒级的RTO,即发生各种故障时能保证数据一个都不丢,并且能在数秒钟内完全恢复服务。

Bybit核心的消息总线实现了数据持久化和集群化,只要进来的消息就不会丢失。消息的可回溯性能够支持系统从任一个时刻恢复数据。比如t时刻后的所有持久化订单数据都丢了,系统能快速找到t时刻对应的消息序号n,并从n+1开始回播所有订单消息,实现订单数据的恢复,并且系统设计上能保证回播产生的数据和恢复前完全一致。

市场深度

众所周知,市场深度是用户最关注的一个方面。Bybit BTC/USD交易对6点差内市场深度超过500万美金。采用的是与做市商合作的方式,与市面上大型量化团队和做市商对接并签署合作协议,保证交易所充足的流动性。例如:JumpJane StreetAmber AICitadel等。

还有做市商激励机制,参考CMECBOEtick level做市商激励体系,通过奖励机制和合理竞争规则保持做市商之间的良性竞争和奖励平衡,从而达到充足深度和流动性目的。


尾声

Bybit作为新兴交易所,虽然经受住此次超级行情的考验,但仍有长的路要走,还需要深耕细作。比如延迟方面继续优化,达到整个交易链路5毫秒的目标;以及容灾能力方面,提升异地灾备能力;

Bybit深知技术保障对于交易所的重要性,始终坚持用户至上,技术为王的运营理念,相信良好用户体验建立是基于稳定可靠的技术保障。我们肩负使命与重任,承载梦想,目标是做出在数字货币领域技术足够领先的交易所,以我们的技术核心竞争力赢得用户的信任和选择。


更新日期:
文章标签: ,
文章链接: 【Press Release】未来已来,超级大行情下「47亿」的考验  [复制链接]
站方声明: 比推所有文章都只代表作者观点,不构成投资建议。投资有风险,后果自负。