Juspay 是一家印度金融科技公司,它使用 ClickHouse 为其端到端支付解决方案和实时商户仪表板提供 A/B 测试和监控。凭借每天为 Amazon、Google 和 Vodafone 等客户处理超过 5 千万笔交易的能力,Juspay 选择了 ClickHouse,因为它能够处理大量数据。
Juspay 已成为支付行业的先驱,不断推动该领域的创新。Juspay 的使命是简化商户的在线支付流程,它充当支付提供商和商户系统之间的中介。
为了确保企业拥有无缝的交易环境,Juspay 必须提供监控和分析服务,以保证支付系统按预期运行。Juspay 需要一种能够帮助他们做出数据驱动决策的解决方案。
由于商户种类繁多,需求不断变化,Juspay 必须跟上频繁发布的速度,通常每天多次发布,无论是交错发布还是全面发布。因此,他们需要一种监控解决方案,使其能够在保持快速发布节奏的同时,安心地知道最新版本不会影响正在运行的支付系统。
Juspay 通过 ClickHouse 实现更佳 A/B 测试的历程
ClickHouse 被选为满足 Juspay 关键 A/B 测试和监控需求的解决方案。作为支付编排器,Juspay 拥有数千个与支付、支付网关和不同支付方式相关的参数。因此,新版本对各个维度的潜在影响是巨大的。
ClickHouse 使 Juspay 能够比较版本 A 和版本 B 之间的成功率百分比,并确定新版本是否性能不佳(通过显示较低的成功率)。在这种情况下,会执行回滚,这在预期新版本会提高性能但最终影响其他服务的情况下尤其有用。
传统的关联数据库无法执行这种级别的分析,因为 A/B 测试产生了海量数据。这些测试是在过去七天内的交易中进行的,每天总计约 600 GB 数据,相当于约 4TB。借助 ClickHouse,Juspay 可以按低基数字段的所有列进行分组,这可能达到多达 10,000 个维度,每天处理 5 千万笔交易。
使用 ClickHouse 进行 A/B 测试和监控
对于监控和 A/B 测试,Juspay 结合使用了 Kafka、ClickHouse 和 Grafana。他们监控活动日志并在 Kafka 中执行转换,然后利用 Kafka 队列通过 Kafka 引擎将数据传输到 ClickHouse。
Grafana 用于可视化和分析 A/B 测试数据
使用 ClickHouse 实现实时商户仪表板
Juspay 还需要一种解决方案,为其商户提供实时分析和系统性能的实时视图。借助 ClickHouse,商户可以轻松跟踪其交易并实时监控其成功或失败状态。
ClickHouse 的架构涉及使用 bash 脚本 CRON 作业进行 ETL(提取、转换、加载)过程,该过程将数据提取到系统中。然后,这些数据用于创建用于实时分析的自定义仪表板。
使用 ClickHouse 创建的商户实时分析仪表板
通过切换到 ClickHouse 实现 10 倍的成本降低
Juspay 之前一直使用 GCP 的 BigQuery,但数据扫描成本迅速增加,每天超过一千美元。因此,为了减少开支,他们寻求更具成本效益的解决方案。
通过将此工作负载切换到 ClickHouse,他们在运营费用方面实现了 10 倍的成本降低。BigQuery 仍然用于某些类型的查询,例如,在报告特定 ID 以及需要连接 ID 的情况下。但是,对于所有聚合和实时分析,他们都使用 ClickHouse。ClickHouse 不仅以令人印象深刻的效率解决了他们的问题,而且与 BigQuery 相比,它所需的 инфраструктура 投资也大大减少。
“ClickHouse 以基础设施成本的一小部分非常高效地解决了我们的大部分问题。这对我们来说是一个更大的优势,”该项目的软件开发工程师 Tamil Selvan 说。
最大化 ClickHouse 的优势
ClickHouse 是一个高性能数据平台,提供汇总和视图,允许受控访问原始数据。这有助于防止数据使用中的错误,例如连接高基数字段,并有效管理资源。
“ClickHouse 有许多优势;但是,我们建议不要将其视为黑匣子。尽管您可以运行任何类型的查询并获取数据,但最好以正确的方式使用 ClickHouse,以充分利用所有优势。如果您遵循文档,就不会出错,”Selvan 说。
通过选择 ClickHouse,Juspay 能够降低其运营成本,并继续为其商户提供尽可能最佳的体验。ClickHouse 的高级数据处理能力和高效的成本结构使其成为明确的选择。