亚马逊云科技精选博客
我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
Exberry 如何在 亚马逊云科技 上构建云原生匹配引擎,该引擎每秒可处理 100 万笔交易,延迟 20 微秒
谁是 Exberry
Exberry提供云原生匹配引擎平台,使传统和替代交易所能够快速推出超低延迟市场并以经济高效的方式运营这些市场。
我们推出Exberry是为了满足交易所运营商对灵活、高性能匹配引擎平台不断增长的需求,该平台可以支持多种资产类别和交易策略,还具有可扩展性、灵活性,可供广泛的市场参与者使用。
Exberry 的产品
Exberry的交易所技术平台包括高度可扩展且灵活的核心交易引擎,该引擎具有中央订单簿、断路器功能和市场数据支持。它支持超低延迟执行,可以为全球 31 个地理区域内 亚马逊云科技 的 99 个可用区的受监管和不受监管的市场提供动力。
经纪商系统是一个全面的解决方案,包括订单管理、智能订单路由、交易用户界面、资产管理和代币化功能。它使经纪人能够有效地管理其订单和资产,并将股票、债券和大宗商品等传统资产代币化,用于数字资产交易所。
为什么要在云上构建
作为一家在云端诞生的公司,我们所有的产品和服务都在 亚马逊云科技 中本地运行。对我们来说,在云端构建交易平台非常简单,因为与本地相比,云提供了无与伦比的上市速度、灵活性和安全性。通过利用云基础设施和多租户架构,我们得以构建高度可扩展、弹性和可定制的超低延迟匹配引擎解决方案,我们可以以更经济的价格向客户交付该解决方案。
我们之所以选择在 亚马逊云科技 上构建我们的平台,是因为 亚马逊云科技 涉足金融服务和广泛的云服务。亚马逊云科技 提供了高度可靠、可扩展和集成的平台,其中包含广泛的服务,我们利用这些服务来提高系统的性能、可扩展性和可用性。
设计原则
鉴于Exberry是为高性能、超低延迟市场提供动力的基础系统,我们需要构建一个专注于高性能计算的平台,并进行优化,以实时处理大量数据。我们希望我们的平台是模块化的,并使用分布式和无代理架构,该架构使用可靠的 UDP 单播和多播进行云部署。它还需要在数据层包括容错机制,因此我们需要高度耐用的存储和自动复制,以确保不会丢失数据和快速恢复。
具体而言,我们想按照机械同情的原则开发我们的技术。这实现了软件和硬件之间的高效交互,Reactive-Microservices 架构允许通过将应用程序设计为使用轻量级协议进行通信的独立服务的集合来实现可扩展性。
可靠的 UDP 单播和多播对于高速交易系统至关重要,可提供低延迟、实时数据传输、可扩展性、弹性和可靠性。多播支持可将数据高效地同时分发给多个接收者,这使其适用于无代理架构。此外,由于其低开销和可扩展性,云部署非常适合UDP单播和多播,为高速和可靠的交易提供了必要的基础设施。
我们还想构建分布式系统架构,以便在网络通信时实现组件的物理分离,这对于实现可扩展性和容错性至关重要。该平台的位置透明功能使其无需修改即可在任何环境中运行,从而提高了可移植性并简化了部署。
反压是金融交易平台等高性能系统的另一个重要考虑因素,因为它有助于防止数据丢失和保持低延迟。它通过为系统提供一种以可持续速度处理传入数据、防止瓶颈、提高稳定性并最大限度地减少数据处理延迟的机制来做到这一点。
通过确保系统的所有组件都得到平等考虑,反压还可以帮助提高高性能系统的公平性。通过调节数据流,背压可以防止任何一个组件过载并减慢整个系统的速度。这确保了系统的每个组件都有平等的机会处理数据并为系统的整体性能做出贡献。反压还有助于系统资源的公平分配,确保任何组件都不会出现资源短缺而其他组件被过度配置的情况,从而提高系统的整体公平性和效率。
高级系统架构
我们是如何建立平台的
考虑到这些设计原则,我们着手构建匹配引擎。从计算开始,我们使用
我们之所以决定使用Graviton 2处理器,是因为它们具有性能、成本效益和环境优势。Graviton 2 处理器基于亚马逊的 ARM 架构,与传统 x86 处理器相比,该架构具有更高的性能和更低的成本。基于 Graviton 的服务器消耗的能耗最多可减少 60%,碳足迹大大减少,性能与同类 EC2 实例相同,使其成为更节能、更环保的计算选项。这极大地帮助了Exberry的客户减少碳足迹,并使Exberry能够为减少温室气体排放的总体目标做出贡献。
出于以下几个原因,我们决定使用
- 可扩展性: Amazon EKS 会自动扩展工作节点的数量,从而更轻松地处理对平台服务不断增长的需求。
- 高可用性: Amazon EKS 提供自动故障转移,确保即使节点出现故障,服务也能保持可用。
- 可管理性: Amazon EKS 提供集中控制平面,可以更轻松地管理整个集群及其服务。
- 与 亚马逊云科技 服务集成:A mazon EKS 集成了各种 亚马逊云科技 服务,例如 亚马逊云科技 负载均衡器、亚马逊云科技 RDS 和 亚马逊云科技 S3,使在 亚马逊云科技 上构建和部署服务变得更加容易。
- Kubernetes 支持: 亚马逊 EKS 建立在业界领先的容器编排平台 Kubernetes 之上,为服务提供了强大且功能丰富的基础。
易于使用:通过使用亚马逊 EKS,Exberry 可以利用 亚马逊云科技 和 Kubernetes 的优势,为其客户提供高度可用、可扩展且易于管理的交易平台。
在网络层,我们的平台同时使用
Exberry 之所以使用 亚马逊云科技 Direct Connect,是因为它提供从客户基础设施到 亚马逊云科技 的专用网络连接,从而提供低延迟和高吞吐量的网络连接。与使用公共互联网相比,亚马逊云科技 Direct Connect 还提供更安全、更可靠的连接,这对于交易操作中涉及的敏感财务数据非常重要。
最后,为了进行灾难恢复,我们再次使用 Amazon EC2 实例。Amazon EC2 为灾难恢复提供了灵活、可扩展和安全的解决方案。Exberry 的灾难恢复计划利用 亚马逊云科技 全球分布式基础设施在发生灾难时提供冗余和弹性。借助 AmazonEC2,Exberry 可以在不同的地理区域快速启动新实例以保持其运营正常运行,即使面对灾难也能确保业务连续性。此外,Amazon EC2 还提供内置的备份和恢复选项,例如
Exberry 建立在 亚马逊云科技 服务之上,是一个分布式系统,它使用 RAFT 复制日志通过服务间顺序消息传送为集群服务提供容错、超低延迟和高性能状态管理。使用 Exberry,可以将多个客户端连接排序成一个可复制的日志,从而确保所有节点的状态保持一致。这允许对多个节点进行有效的容错,确保即使一个或多个节点出现故障,系统也能继续运行。
亚马逊云科技 服务与 Exberry 工程相结合,为需要分布式和容错超低延迟状态管理的应用程序提供了可靠而高效的解决方案。
“引力子确实给我们留下了深刻的印象。有了它,我们目睹了尾部延迟抖动的显著改善,使我们能够提供更可靠和更可预测的性能。我们的往返延迟减少到小于 20 微秒,同时实现了每秒超过 100 万条消息的吞吐量。”Ronen Nachmias,Exberry,联合创始人兼首席技术官
结果
Exberry 的交换基础设施具有可靠且可预测的传输,往返延迟小于 20 微秒,每秒可支持 100 多万条消息,使其成为业内在 亚马逊云科技* 上运行速度最快、效率最高的交换技术提供商之一。
此外,Exberry的软件即服务 (SaaS) 模式为其客户提供了成本节约、可扩展性、灵活性、最新技术和易用性。通过使用SaaS,客户可以专注于其核心业务运营,快速开拓新市场,而不必担心数据中心合同或硬件采购,并且可以将软件的管理和维护交给 Exberry。这种性能、上市速度和弹性相结合,以经济的价格引起了客户的共鸣,也是我们的客户(例如
总部位于新加坡的Abaxx Exchange推出集中清算、实物交割的期货合约和衍生品,在与实物市场有效关联的市场生态系统中提供价格发现和风险管理工具。
Abaxx Exchange需要一个强大的超低延迟平台,为经纪商和期货佣金商人(FCM)提供无缝的市场准入。Exberry 为 Abaxx Exchange 提供了现成的匹配引擎和基于云的中央订单簿解决方案,允许按需在多个环境中灵活快速地部署。Exberry以敏捷的方式进行持续交付,对我们的平台进行了定制以满足Abaxx Exchange的需求,确保提供更多功能并实时纳入Abaxx Exchange的反馈。
我们期待更多地分享Abaxx Exchange的发展历程,并帮助更多交易所运营商在亚马逊云科技上启动和扩展尖端的超低延迟市场。
“要解决当今全球大宗商品和能源市场的基本问题,需要一个能够快速精确地生产基于云的解决方案的技术合作伙伴;我们在Exberry中发现了这一点。”丹·麦克尔达夫,Aba xx 交易所总裁
*Exberry 为其匹配引擎软件提供多种不同的部署模型和技术架构,以满足每个客户的独特需求。这些性能统计数据反映了针对超低延迟性能进行了优化的部署。本博客中引用的其他技术可能反映了其他分布式系统部署模型。