一、哗啦啦高速发展的业务挑战
哗啦啦公司是国内头部餐饮系统服务商,为商户提供安全可信、一体化、全链路餐饮SaaS服务。2021年,该平台交易总额超7000亿人民币,行业大盘中占比15%。服务餐饮商户超40万家,日活跃店铺数近40万。公司研发人员超1500人,技术支持人员超1000人。
公司当前IT现状如下:
第一,混合多云多数据中心。公司主要采用阿里云服务,并依托视频互联机房,建立了本地数据中心。
第二,核心业务。公司提供超3600个服务,月均构建超9万3千次,月均服务上线超8万1千次。
第三,数据库。拥有包含超1500台顶配服务器的数据库,范围涵盖MySQL、Redis、TiDB、MongoDB、ClickHouse、Doris等。
哗啦啦高速发展阶段面对的业务挑战需要多活来解决,主要得益于多活的以下几个优势:
第一,能够应对核心业务故障。
第二,能够应对整个机房级别故障的需求。
第三,能够实现业务单元化。
第四,能够实现客户端就近接入。
二、云原生与异地多活解决方案
哗啦啦多活架构的设计原则主要遵从以下四个方面。
第一,业务内聚。尽量使单个下单在一个机房内完成,不要跨机房调度。
第二,可用性优先。发生故障切换机房时,优先保证系统可用性。
第三,数据保护。在数据可用的情况下,保护数据的完整性。
第四,业务感知。需要对代码进行一些改造。
建设异地多活存在诸多挑战。
第一,流量管理难度高。需要具备多维的分流能力、动态调整能力。
第二,数据同步策略复杂。实现远距离数据同步,对同步性能、带宽有很高的要求,同步策略无法深入压测和调研。
第三,切换数据质量保障难。数据切换时需要检查所有数据状态,对技术及经验要求较高。
第四,多数据中心统一管控难度大。自行开发多数据中心统一管控平台需要对接众多基础设施,大量增加研发成本。
而阿里云原生方案具备以下四点优势:
第一,云数据库的高可用性。能够实现自动化秒级故障切换,数据库更加敏捷和有弹性,能够实现分钟级扩展,相比自建数据库性能明显提升。
第二,同步工具成熟。DTS在哗啦啦使用深入,且对数据库多活场景充分适配。
第三,数据质量保障。阿里云在数据保证方面有许多可靠性验证及深度的系统实验。
第四,一体化解决方案。有统一管理和路由规则,实现从多活建站到容灾演练能力全覆盖。
当前哗啦啦采用DTS+RDS为用户提供产品化的全球多活数据库能力,主要优点在于。
第一,产品化组件使用大幅降低实施成本及运营成本。
第二,提供低延时的全球就近访问能力。
第三,提供延时接口支持业务单元切换。
第四,对后续架构进一步拓展、统一平台建设提供能力支持。
哗啦啦基础云平台的技术组件包括技术点主要有。
第一,GZS,多活数据库。主要管理订阅的业务单元、商务ID、客户ID等。
第二,API Route。能够针对网关层进行切入,针对业务单元进行迁移。
第三,SOA proxy&DAL。控制数据访问逻辑。
第四,DTS。最底层技术组件,是阿里云提供的数据复制服务。
哗啦啦整体云原生技术体系包括:POS、订单、支付、商城、会员、供应链、小程序及其他。业务承载下层为K8s,其上还有三个主要部分。
第一,资源整理平台。包括资产管理、数据库管理、配置管理、中间件管理、审批审计等功能。
第二,研发效能平台。面向产研,具有CICD、服务治理、立体观测、告警服务、流程管理、应用商店等功能。
第三,稳定性平台。包括告警、流量管理、流程管理、应用商店、经验平台、IT平台等。
三、哗啦啦后续的技术演进规划
哗啦啦后续技术规划包括以下三个方面。
第一,IT基础设施全面云化,全面采用公有云。
第二,应用全面云原生化。全面改造成云原生数据库,使得平台可以灵活运用,并易于管理。
第三,业务全球多活。从两地三中心到三地五中心,针对海外进行整体的基本建设。