金融机构需要每秒处理大量的交易。由于这些交易通常包含高度敏感的数据,因此它们需要比平时更加严格的安全、延迟和一致性标准。它们需要确保所有交易,无论是电子商务购买还是直接银行转账,都是即时、安全和无差错的。你能想象客户的付款会因为系统跟不上而被卡住吗?这种挫败感和放弃率将达到顶峰。那么,如何建立一个高度分布式、低延迟和全球一致的系统呢?
支付处理性能的高风险
最近,我们的一个客户,一家大型全国性银行,就遇到了这样的数据处理问题。这家银行每天都要处理大量的在线交易--数以百万计的支付、转账和银行卡注册,这些交易来自全美各地的客户。这些交易需要保持同步。
无论交易来自纽约、洛杉矶还是两者之间的任何地方,他们都需要能够接收并处理这些交易。哪怕是最轻微的延迟或不一致,都可能导致支付失败或安全漏洞。因此,可以想象他们对性能和数据一致性的要求有多高。这是一个他们整个业务都依赖的真正的关键任务系统。
这家银行需要快速的响应时间,因为超过 5 秒的延迟会大大降低客户满意度。根据Kissmetrics 的数据,47% 的客户希望交易在两秒内完成。高延迟和频繁超时不仅会让用户感到沮丧,还会导致放弃交易。根据Harris Interactive 的一项研究,66% 的移动银行用户表示由于结账过程中的问题而放弃交易,其中 36% 特别指出加载时间过慢是放弃交易的主要原因,这凸显了数字银行服务对速度和可靠性的迫切需求。因此,最大限度地减少延迟和避免超时不仅是该客户面临的技术挑战,也是他们维持客户信任的关键。
利用Akamai确保快速可靠的支付处理
该银行的要求很明确:他们希望建立一个高度分布式、低延迟的系统,以提供持续快速的性能。他们还需要全局数据一致性,以及智能请求路由,以确保每次查询都能命中最近、性能最好的节点。他们需要一种解决方案,能够处理大量涌入的敏感数据,使其保持紧密同步,然后以最小的延迟和最大的可用性快速提供服务。
为此,他们使用了Akamai的智能 Global Traffic Management和快速的NATS.io消息传递系统。NATS.io是专为云原生环境优化的高性能消息传递系统,可实现高效的数据分发和同步。
让我们来看看我们为该客户实施的上述参考架构,该架构利用NATS.io和Akamai实现了数字支付系统的全球一致性和高性能。
在上述步骤 1 中,用户通过数字支付应用程序发起交易,应用程序将交易数据发送到 DNS。
接下来,DNS会将交易导向最近的Akamai计算区域。然后,交易数据通过HTTPS/NATS网关发送到所选区域的NATS.io代理。NATS.io集群可确保这些数据以低于100毫秒的延迟传播到系统内的所有其他区域,从而保持全球一致性。任何所需的数据(如用户余额、交易历史)都能在所有区域内快速检索和更新。交易处理完毕后,响应将通过 HTTPS/NATS 网关发送回用户。DNS 可确保响应的最佳路由,为用户提供有关交易状态的实时反馈。
这种架构非常有益,原因有二:它提高了性能和可扩展性。它使用基于性能的DNS负载平衡和NATS.io的高速传播来提供对实时支付处理至关重要的低延迟响应。Akamai计算区域的分布式特性确保了即使一个或多个区域出现问题,系统也能保持可用。
随着交易量的增长,更多的计算区域和 NATS.io 代理商可以轻松地集成到系统中。这种横向扩展方法可使系统在不进行重大重新设计的情况下处理增加的负载。通过在多个区域分配负载,该架构可以支持更多并发事务,同时保持低延迟和高性能。该架构可扩展性的另一个关键方面是其高效处理峰值负载的能力。在节假日购物季或重大销售活动等高需求时期,系统可以动态分配更多资源来管理激增的交易。无论交易量如何,这都能确保用户体验到一致的性能。
基于 DNS 的智能负载平衡,实现最佳性能
在架构好这个解决方案后,我们为客户进行了测试。我们创建了一个包含 1 亿个密钥的样本数据集,并将其加载到我们一个核心计算区域的高可用 NATS.io 集群中。
核心是一个部署在Akamai主要计算区域的3节点NATS.io集群,提供冗余和高可用性,如上图所示。接下来,我们增加了单个叶子节点NATS.io机器,部署在北美的10个独立Akamai计算地点。通过在Akamai的全球边缘网络上分布NATS.io节点,数据可以更接近终端用户,从而减少延迟。
每个分布式 NATS 节点旁边都部署了安全 HTTPS 网关,使其应用程序能够使用标准网络协议与高速数据管道连接。无需复杂的集成。但真正的奥妙在于我们如何利用我们的全球边缘网络和负载平衡能力。当客户进行支付或注册新卡时,Akamai的Global Traffic Management ,利用基于DNS的智能负载平衡,将用户路由到最近、性能最好的Akamai计算区域。
这可确保用户始终连接到最近的可用节点,最大限度地减少延迟并提供高可用性。负载平衡会考虑用户位置、网络条件和节点健康状况等因素,从而做出路由选择。因此,客户不必穿越互联网和多个跳转点来访问某个集中式数据库,而是只需几毫秒就能访问到分布式 NATS 实例,而且数据已在本地预处理并准备就绪。这种低延迟解决方案确保数据通过分布式 NATS.io 节点更接近终端用户,智能路由确保请求命中最近的可用节点。此外,NATS.io 消息传递系统可在 100 毫秒的时间窗口内同步所有节点上的数据,从而提供全球数据一致性。
最终结果
这个功能强大的解决方案集成了Akamai的全球分布式边缘网络、智能流量管理和NATS.io消息传输系统,无论流量大小,都能提供卓越的性能。银行改用Akamai后,始终能够满足数字支付提供商的60毫秒SLA窗口要求,消除了变数,加快了工作流程。这一改变不仅提高了数字支付提供商严格的SLA的合规性,还通过提供可靠、快速的交易处理,提升了客户的整体体验。这一使用案例凸显了选择正确的基础设施来支持数字支付解决方案的关键作用,以及它对维护客户信任的重大影响。
如果您想实施低延迟系统,我们很乐意与您洽谈!您也可以申请最高 5,000 美元的积分,将您当前的基础架构迁移到 Linode。
注释