OKEx Lightning 2.0升级

下一代交易系统,可提供更快的性能

一,电子交易系统的发展

对资产交易核心技术的要求不断提高,反映了20世纪上半叶全球金融业的快速增长。在50年代,买卖双方通过谈判进行交易,要价被手动记录在纸上。在多种证券类型和交易量不断增加的背景下,这种处理报价的方式由于效率低下和成本高昂,在60年代至70年代逐渐造成文书工作危机。纽约证券交易所(NYSE)别无选择,只能在每个星期三暂停交易,并在其他交易日减少工作时间以限制其活动。凭借无与伦比的同时处理大量交易的能力,计算机开始发挥作用。无纸化流程或电子革命是全球金融史上的关键转折点。交易已迁移到电子交易平台,提供了更快捷,更便宜的操作,而没有时间或地理上的障碍.

70年代的美国无纸化危机

电子交易系统已在全球范围内出现,包括道富的Currenex,香港交易所的INET,ICAP的EBS Spot Ai和LIFFE的LIFE CONNECT。由于加密资产仅以电子形式存在,因此它们自然与电子交易平台相关联,但是对加密交易和传统交易系统的要求略有不同。总体而言,加密交易系统应具有以下特征:

一种。低延迟和高吞吐量

延迟和吞吐量是衡量交易系统性能的关键指标。我们的主要目标是在设计交易系统时实现低延迟和高吞吐量.

在交易的上下文中,等待时间是指交易系统接收到的请求与交易系统做出的响应之间的时间间隔。高频交易量的激增在很大程度上推动了市场对低延迟的需求。为了使高频交易者能够在加密货币交易所进行交叉交易,他们的交易系统应配备低延迟的交易引擎,以快速处理订单并反映高度竞争的加密货币市场中的市场现实。.

吞吐量是交易系统在一秒钟内可以处理的请求或事件的数量。吞吐量可以直接影响交易效率,因此,加密交易系统应设计成能够承受极端情况并利用处理单元.

b。可维护性和可扩展性

与传统资产相比,加密货币价格波动更大,容易受到全球冲击的影响。由于加密交易系统连续24/7全天候处理请求,因此它们设计为尽可能少地进行离线维护。此外,很明显,加密行业正在经历快速的转型,因为自保证金,期货和期权交易出现以来,仅在十年之内就推出了不同的数字衍生品服务。创新服务的激增对加密交易系统的可维护性和可扩展性提出了要求.

二。 OKEx Lightning System 2.0:光速性能

作为全球最大的数字资产交易所之一,OKEx凭借其全面的加密资产和衍生产品为数万用户提供服务,平均每日交易量达数十亿美元。作为行业领导者,我们为交易系统设定了更高的标准。除了2018年8月对交易系统进行升级之外,我们还实施了经过多次升级后具有世界领先性能的下一代Lightning 2.0系统。 Lightning 2.0升级的主要功能如下:

闪电2.0升级框架

1.记忆


在加密交易系统的早期开发阶段,平台通常通过在数据库中自动匹配交易对手的投标订单的详细信息来检索交易对手的投标订单的详细信息,直到该订单到期或被填补为止。然后,系统计算交易量并在匹配后生成交易条目。这种方法可以确保数据的一致性,但是由于处理时间长,因此无法同时处理许多市场需求.

我们的下一代交易系统Lightning 2.0采用了最新的内存中匹配技术,该系统在自动匹配过程中将订单中的订单数据存储在订单匹配引擎中,并且在交易过程中访问数据库的频率降低。所有匹配结果和中间数据也都存储在内存中,这可以减少所涉及的输入和输出的数量,从而显着提高订单匹配速度.

尽管备忘录可以大大减少交易等待时间,但加密交易系统可能会因电源中断而冒着丢失数据的风险。为了解决此问题,我们采用事件源方法来持久化业务实体的状态并以事件为中心的方式存储数据。传统上,交易系统将当前状态的数据存储在数据库中,但事件存储是为了反映事件源方法中的状态变化,这使系统能够重建状态。系统定期获取状态的快照,并在需要重建时在创建快照后对事件进行重新排序.

此外,现代中央处理器(CPU)以比预期慢的速度访问内存中的数据。根据一个 测试, 与内存中的匹配技术相比,从CPU的L2缓存中检索数据只需要花费1/7的时间。为了进一步减少延迟,重要的是要了解如何充分利用CPU缓存。数据传输的单位是高速缓存行,通常为64个字节。 CPU在内存中加载数据时,会将64字节的相邻数据传输到缓存中。因此,我们通过控制内存中数据的分布对Lightning系统进行了以下改进:

  • 通过将需要连续处理的数据打包在一起来控制内存中的分布. 将所有数据放在一起后,在读取多条数据时,仅需要从内存中的存储到高速缓存的第一次加载即可。之后,后续读取可能会命中高速缓存以提高系统性能.
  • 通过将可能以较高速率更改的数据(例如计数器上的数据)放置在不同的缓存行上来控制内存中的分发. 当多个CPU同时修改单个高速缓存行中的不同字节时,会发生错误共享。例如,在CPU1修改自己的数据之后,CPU2在再次读取其自己的数据时必须重新加载整个缓存行,因为缓存行中的数据已更新。结果,两个CPU都需要互相等待。这就是为什么我们通过填充将数据存储在不同的缓存行中来避免此问题的原因.

2个. 发布-订阅模型和二进制协议

消息传递模型的两种主要类型如下:

Lightning 1.0和Lightning 2.0的比较

在发布-订阅模型中,队列用于消息传递。当一个服务需要请求其他服务时,有关该请求的信息将被封装到一条消息中并放入队列中。其他服务将订阅消息队列以获取信息并处理请求.

在请求-响应模型中,客户端和服务器紧密耦合在一起。它们必须同时可用。客户端只能等到服务器完成对请求的处理,这会降低其处理速度。但是,在发布-订阅模型中,在发布者将消息放入队列后,请求处理完成。发布者与订阅者解耦。另一方面,如果订户的服务中断,则消息将继续保留在队列中,并且当其服务恢复时,处理将继续进行,而无需发布者重新发送消息,从而提高了系统通信的可靠性。因此,几乎所有情况下都采用此模式,以提高Lightning 2.0系统的可用性和吞吐量.

选择请求-响应模式之后,下一步就是选择合适的信息交换格式。通信的本质是交换消息,通常包括数据。不同的交换格式具有不同的传输速度和通信演进水平,并使用不同的编程语言。因此,这是设计交易系统的关键考虑因素.

两种常见的消息格式类型:基于文本 & 二进制的

基于文本的通信协议的缺点是显而易见的。解析大型文本文件时,它容易产生错误并消耗带宽,这对于对效率和性能问题极为敏感的交易系统无法很好地工作。但是,可以轻松地使用二进制协议进行解析,从而产生更好的性能。因此,我们在Lightning 2.0系统中采用了二进制协议.

3. 水平缩放

为了改善和扩展交易系统的处理能力,水平缩放和垂直缩放都是期望的。垂直扩展是指服务器升级,而水平扩展是指添加服务器。服务器的硬件性能取决于生产能力。虽然服务器的硬件配置(硬件性能)达到一定水平(极限),但无法进一步提高,因此,水平扩展是唯一的选择。但是,水平缩放方法可能会导致负载平衡。如何合理地将整个系统的负载分配给不同的服务器?

首先要考虑的是数据竞争。尽管增加服务器可以提高系统并行处理数据的能力,但是如果发生不合理的分配,则仍然不能有效地提高其处理能力,因为并行计算可能会使服务器频繁争用同一数据。.

交易系统基本上存储订单,资金和头寸数据。为了减少数据争用的数量,将执行负载分片,以根据可用用户的数量将这些数据划分为分片。用户的订单,资金和头寸数据是独立处理的,这有助于避免数据争夺。此外,我们通过为每个分片添加一轮批处理来进一步优化我们的系统,以增强系统的处理能力。另一方面,衍生品交易对保证金数据是另一个承受负荷分担的目标。对于用户而言,每个交易对都是完全独立的。这样,我们在两个阶段中采用了负载分担。当我们的系统需要更多服务器时,将基于分片使用负载平衡,以实现系统扩展的灵活性.

4. 系统扩展

增强交易系统的可维护性和可伸缩性的基本方法是分离其功能。在此次升级中,我们将系统功能进一步划分为3个模块,分别是订单匹配,计数器和风险控制。每个模块包含其自己的内部数据和状态。具体而言,订单匹配模块负责维护订单簿,柜台模块存储仓位和账户余额数据,而风险控制模块执行风险管理功能.

由于模块相互协作以启用整个交易系统的功能,因此需要一种机制来进行通信。服务间通信有两种选择:数据共享和消息传递.

数据共享是一种最基本的方法,其运行方式是模块更新其数据,而另一个模块在查询后获取新数据。但是,这种方法有两个明显的缺点。首先,如果多个模块对同一数据进行更改和查询,通常会导致数据争用,在此期间数据库的响应时间会更长。其次,很难实时了解其他模块中的更改,并且我们只能在查询后知道此类更改.

因此,我们的Lightning 2.0系统的模块旨在保存自己的数据,并且彼此之间不共享数据。如果模块的内部状态发生更改,则更改将被封装到一个事件中并置于事件循环中。这样可以减少系统模块之间的耦合和竞争,并且在事件封装后它们可以以最佳速度相互通信,从而大大提高了我们系统的通信速度.

三,闪电2.0数据性能

我们已经在2019年下半年完成了Lightning 2.0系统的全面升级。与Lightning 1.0相比,它的性能如何提高?

以下是我们11月份在香港进行的服务器测试的最新统计信息:

在订单处理能力方面,我们的系统具有100,000 txn / s的峰值订单处理能力,可与全球股票市场上的主流交易系统相媲美.

以下三个指标用于测试系统延迟:

测试延迟的三个常见指标:ACK,实时和取消

我们使用9月和11月的测试数据来比较我们交易系统的升级前和升级后表现(请参见下文)。如下所示,平均ACK延迟从50毫秒减少到25毫秒,平均实时延迟从134毫秒减少到63毫秒,平均取消延迟从230毫秒减少到180毫秒.

它表明我们的Lightning 2.0交易系统具有较低的延迟.

升级前/升级后

IV。技术行业领导者

区块链无限的可扩展性,可再现性和灵活性意味着有更多的新资产等待发现。区块链技术的持续发展将在未来将越来越多的知识产权,版权和创意资产转变为加密货币。我们将看到市场和用户在交易系统中寻求更高的可靠性和性能.

作为具有综合C2C,现货和衍生品交易服务的世界领先的加密货币交易所,我们正在不断改进我们的交易产品,风险管理系统,订单匹配引擎,加密资产存储服务和客户服务,我们已成为全球最大的加密货币衍生品交易平台在全球用户中广受欢迎。我们的最终目标是通过投入额外的资源来追求更高的交易安全性和效率,从而与区块链和加密货币领域一起发展,以进一步推动加密货币领域每个人都梦dream以求的区块链驱动世界的发展。.

在以下位置关注OKEx:

Steemit: https://steemit.com/@okex-official

网站:https://www.okex.com

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map