GCash all in OB Cloud,打造菲律宾国民级钱包APP

2023-12-21 19:30

本文主要是介绍GCash all in OB Cloud,打造菲律宾国民级钱包APP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GCash 创立于 2017 年,由菲律宾电信巨头 GlobeTelecom 推出,是菲律宾排名第一的移动钱包和该国首个双独角兽公司,主要为用户在智能手机上提供储蓄、贷款、保险和投资服务。截止 2022 年 6 月,GCash 注册用户数量达 6600 万,这相当于菲律宾平均每两人中,就有一人是 GCash 的用户。

作为东南亚的移动支付领头人,GCash 在业务迅速增长的大背景下,使用传统数据库面临着扩展性、性价比、稳定性等多重挑战。

第一,单机数据库成本高昂且存在性能瓶颈。在业务发展初期,其电子钱包业务通常采用单体架构的数据库,但随着业务发展再逐步扩容,若选择增加单机数据库,不但成本高昂,且依旧难以支撑密集的并发读写,存在性能瓶颈;若选择采用分库分表方案减轻数据库压力,不但技术改造成本非常高,稍有不合理的设计,系统的整体性能、可用性都将大打折扣。

第二,数据量激增,原有数据库存储空间逼近上限。随着业务不断增长,GCash 不得不投入大量资源进行数据拆分、数据清理。但这种方案治标不治本,整体数据库架构已经难以支撑业务的平稳变更,并且服务连续性无法保证,原有的云上传统型数据库难以支持如此大量的数据规模,技术团队只能定期删除数据来释放存储空间,工程量巨大且低效,运维成本也随之上升。

第三,数据安全性和业务连续性难以保证。电子钱包从属于支付领域,其收单、支付、计费等系统要求数据库对突发流量洪峰具备高抗压能力,短时间内高并发 SQL 请求哪怕每条多延迟 1 毫秒,都会影响用户体验。此外,支付领域对业务连续性和数据完整性要求非常高,传统数据库架构下如果出现机房断电、设备故障等情况,大概率会导致数据丢失和业务中断,无法保障数据的安全性和业务连续性。

正是由于业务的高速增长,带来了 GCash 的极端“内忧”,大刀阔斧的 IT 改革势在必行。OceanBase 作为承载中国头部电子钱包支付宝 100% 核心链路的数据库,在支付领域积累了丰富经验与方法论。2020 年初,OceanBase 受邀与 GCash 进行了跨国技术友好交流,开始探讨构建基于新一代数据库的存储底盘,并对方案进行了全面验证。2021 年,GCash 中数据量最大的系统完成迁移,2022 年底,GCash 所有系统全线投入 OB Cloud。

早在 2020 年,GCash 的日均交易量已达百万级,而原数据库的数据量每月都在以大约 10% 的增幅在上涨。由于传统云数据库普遍存在的规格限制,数据激增后需要扩容存储时,CPU 也不得不跟着升级,资源浪费明显。为此,GCash 每月的存储成本居高不下,当务之急是要将数据持续激增的传统数据库平滑迁移到一个真正具备平滑扩展的数据库上,OB Cloud 进入了 GCash 的视野。

决定与 OceanBase 进行合作后,摆在用户面前的难题是:如何在异构数据库之间做到不停机的无缝迁移?虽然 OceanBase 的 OMS 平台已经具备非常成熟的数据库迁移能力,但是考虑到 GCash 对业务连续性的极高要求,以及全站大规模迁移带来的复杂性,我们需要为客户提供一个尽可能降低业务改造成本,甚至无需停机发布的自动切换方案。

对此,OceanBase 专为 GCash 设计了一套专属的数据迁移方案,结合蚂蚁集团数据库 SRE 团队的最佳实践,通过在 OMS 平台直接打通应用访问数据库的数据源权重接口,将“源端权限回收,增量数据追平,目标端重新建立连接”的过程在一个自动化工作流中封装起来。该方案加持下,GCash 能够很顺利地在不停机的情况下将全站数百例数据库平滑顺畅地成功迁移至 OceanBase。

GCash 的某些电商业务,数据量巨大的库可能访问量并不是特别高,而另一些数据量较小的业务却访问量极大,这就导致在传统以实例为单位的单体数据库上无法实现计算资源和存储资源的灵活互补,性价比不高。而 OceanBase 基于 LSM-Tree 架构有天然的数据存储优势,再加上行列混存的自研引擎,大大降低了存储成本,同时 OceanBase 以集群为单位的多租户架构,可以自有分配管理计算资源和存储资源,做到动态资源互补均衡。传统数据库几个 TB 的数据在 OceanBase 上只有几百 GB,以 GCash 某单库为例,在迁移到 OceanBase 之后,骤降为原有的 1/10。

由于 OceanBase 高效的存储引擎,结合云上高速的块存储服务,可以做到节点级的磁盘平滑在线扩容。最终,GCash 实现数据存储空间节省 70% 以上,数据库资源成本节省 40% 以上,大大提效降本。

随着业务快速增长、数据量不断累积,带来的不仅仅是存储成本的攀升。与此同时,原有基于单体数据库架构设计产生的问题也开始逐渐显露。尤其是对于一些关键链路上的业务和服务,传统数据库可能会导致遇到单点抖动时业务爆炸半径难以控制。借由此次数据底盘迁移,OceanBase 帮助 GCash 重新按照业务维度梳理优化了全站的高可用架构。

GCash 的交易、支付系统是承担在线突增流量最多的系统,很多高并发场景都需要借助该系统实现用户的流畅交易与支付。往常面对突发大流量请求,GCash 原本使用的传统数据库集群连接数受限于架构设计,对高并发请求极为敏感,很容易导致系统不稳定。

上线 OceanBase 之后,在运维方面,GCash 原来数以百计的实例变为 10 多个集群,多租户架构下拓扑逻辑清晰,运维方便。同时对于业务上大表经常面临的 DDL 发布需求,OceanBase 无需表锁,实时生效,完美解决了过去大表 DDL 不敢做不能做的困境。通过对 GCash 的各个租户的特性进行分析,将只需要大量计算的业务和只需要大量存储的业务放到一个节点上,不同画像互补,充分利用资源。升级后,OceanBase 仅单节点的连接数就约为原有数据库的 5~8 倍,一个多节点集群的总连接数更多(百万级别),足以平稳支持更大规模的流量冲击。

同时对于 GCash 的业务快速增长,OceanBase 通过提供无感扩容的方案,在集群有冗余资源的前提下,在大促和波峰到来前,通过租户规格变配,对业务进行无感扩容。随着业务的发展,调整低负载租户的资源补充给高负载租户,大大降低成本。同时对于某些业务需要跑批拉数据的场景,可以使用读写分离的方式, 把对实时性要求不高的拉数业务路由到从副本上,保证了集群的稳定性,也节省了资源。

此外,承载了记账、对账及核算三大主要功能的账务系统,是支付行业最关键的核心系统之一,对数据的强一致性要求极为苛刻;传统数据库若遇到记账时数据库宕机,强行切换很有可能会丢失当笔记账数据,而 GCash 迁移至 OB Cloud 后,采用的三可用区高可用架构可以做到任何单机房故障时业务不中断,RPO=0,RTO<30 秒,让 GCash 具备了多可用区金融级容灾的能力。

经历过支付宝架构历代升级的 OceanBase,将在支付宝沉淀和打磨多年的最佳实践,完美复刻在此次 GCash 的数据架构重构中。来自中国的移动支付背后的技术实力,也正随着 GCsah 落地到“千岛之国”菲律宾。

搭载 OB Cloud 全新出发后,GCash 实现了分布式架构的全面升级,获得了数据存储空间节省 70%、数据库资源成本节省 40%、数据节点减少 80%,运维效率大幅提升。这种显著的降本增效能力不仅是 GCash 等海外本土企业的关键诉求,对于越来越多的国内出海企业也意义重大。GCash 与 OB Cloud 的跨国组合,让菲律宾居民的每一笔「支付」都算数!

这篇关于GCash all in OB Cloud,打造菲律宾国民级钱包APP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/521217

相关文章

菲律宾诈骗,请各位华人朋友警惕各类诈骗。

骗子招聘类型:程序开发、客服、财务、销售总管、打字员等 如果有人用高薪、好的工作环境来你出国工作。要小心注意!因为这些骗子是成群结伴的! 只要你进入一个菲律宾的群,不管什么类型的群都有这些骗子团伙。基本上是他们控制的! 天天在群里有工作的信息,工作信息都是非常诱惑人的。例如招“打字员”、“客服”、“程序员”……各种信息都有。只要你提交简历了,他会根据你的简历判断你这个人如何。所谓的心理战嘛!

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

MFC中App,Doc,MainFrame,View各指针的互相获取

纸上得来终觉浅,为了熟悉获取方法,我建了个SDI。 首先说明这四个类的执行顺序是App->Doc->Main->View 另外添加CDialog类获得各个指针的方法。 多文档的获取有点小区别,有时间也总结一下。 //  App void CSDIApp::OnApp() {      //  App      //  Doc     CDocument *pD

如何打造个性化大学生线上聊天交友系统?Java SpringBoot Vue教程,2025最新设计思路

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 | SpringBoot/SSM Python实战项目 | Django 微信小程序/安卓实战项目 大数据实战项目 ⚡⚡文末获取源码 文章目录

ConstraintLayout布局里的一个属性app:layout_constraintDimensionRatio

ConstraintLayout 这是一个约束布局,可以尽可能的减少布局的嵌套。有一个属性特别好用,可以用来动态限制宽或者高app:layout_constraintDimensionRatio 关于app:layout_constraintDimensionRatio参数 app:layout_constraintDimensionRatio=“h,1:1” 表示高度height是动态变化

Java后端微服务架构下的服务网关设计:Spring Cloud Zuul

Java后端微服务架构下的服务网关设计:Spring Cloud Zuul 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在微服务架构中,服务网关是微服务系统与外部世界的入口点,它负责请求路由、负载均衡、认证、监控等任务。Spring Cloud Zuul是一个基于Spring Boot的网关服务,它为微服务架构提供了一种灵活、高效的网关解决方案。 服务

App Store最低版本要求汇总

1,自此日期起: 2024 年 4 月 29 日 自 2024 年 4 月 29 日起,上传到 App Store Connect 的 App 必须是使用 Xcode 15 为 iOS 17、iPadOS 17、Apple tvOS 17 或 watchOS 10 构建的 App。将 iOS App 提交至 App Store - Apple Developer 2,最低XCode版本 Xcod

Spring Cloud整合Seata实现分布式事务

文章目录 1.Seata1.1 官网1.2 下载1.3 通过安装包运行seata1.3.1 解压seata-server-1.3.0.zip1.3.2 修改 conf/file.conf 配置文件1.3.3 修改conf/registry.conf配置文件1.3.4 添加seata配置信息到nacos1.3.5 配置seata服务端数据库表结构1.3.6 启动seata 2.Spring

ELK+Spring Cloud搭建分布式日志中心

ELK+Spring Cloud搭建分布式日志中心 1.ELK简介2.资源包下载3.Elasticsearch安装3.1 解压Elasticsearch3.2 修改Elasticsearch的配置文件3.3 修改系统配置3.4 启动Elasticsearch 4.ElasticSearch-head插件安装5.Logstash安装6.Kibana安装7.SpringCloud集成logsta