说到泡泡玛特,相信年轻人都不陌生。从“抽盲盒”的创意玩法,到MOLLY、DIMOO、SKULLPANDA 等爆款 IP的打造,泡泡玛特可以说是开启了一个全新的潮玩新纪元。而且泡泡玛特很会“拿捏”年轻人,比如其为了让全国的潮玩爱好者能够随时随地在线抽盒,于2018 年 9 月 2 日上线了抽盒机小程序,将现实的抽盒乐趣搬到线上。
虽然“线上抽盒”让泡泡玛特收获了更大的粉丝群体,但问题也随之而来:每当新品发售时,近百万名消费者会在同一时间涌入抽盒机小程序,流量突增很容易造成线上抽盲盒体验的卡顿或延迟。
因此,为了给用户提供更丝滑的抽盒体验,泡泡玛特携手OceanBase,搭载 OB Cloud 打造出了新一代分布式抽盒机系统。
据悉,此次OceanBase通过三个层次的弹性伸缩能力,让泡泡玛特更灵活、更安全、更低成本地实现数据库灵活扩缩容,让抽盒机能轻松应对抽盒流量高峰。
第一级:租户规格的调整。
OceanBase 作为分布式数据库,内部把多台机器统一规划为一个资源池,资源池中又可以进一步划分一个个隔离的资源组,每个资源组就形成了一个租户的概念。而租户的存在,则带来了多级弹性伸缩的第一级。
因为租户是 OceanBase 内部资源的划分,对租户规格的调整不涉及物理层面的资源调整,完全由 OceanBase 内核完成。所以 OceanBase 租户规格的调整可以秒级生效,整个过程对应用完全无感知。也就是说,泡泡玛特运维人员在数据库操作中,可以在任意时间(包括白天正常业务进行时)调整租户的 CPU 核数和内存大小,整个租户的极限 TPS 就可以得到平滑提升。
此外,泡泡玛特借助 OceanBase 提供的原生多租户能力,将原有的几十套数据库实例整合为 3 套 OceanBase 集群,原有的一个实例对应 OceanBase 集群中的一个租户。当然,也可以全部集中在 1 套,考虑到业务线运维的区分,最终选择兼顾综合成本和资源分配的 3 套集群方案。
通过多租户的改造,运维团队的压力显著减少。通过租户规格的调整,泡泡玛特大部分的小业务流量波峰,通过核心业务租户规格的扩大,即可随时随地无额外花费完成。
第二级:机器规格的调整。
面对相对较大的业务流量,简单调整租户规格可能还无法满足业务需要,这时候就需要扩大机器规格。比如把集群从 30C 的规格扩容至 62C,来应对如 MOLLY 这样的超级 IP 新产品发售的流量。
而 OceanBase 则通过 Paxos 协议进行节点间的数据同步,Paxos 协议核心点是自选举,一份数据的三个副本投票表决出谁来当选 Leader,以及该日志是否提交。比如在更换机器规格时,OceanBase 也先挂载一台机器同步数据,但切换时 OceanBase 只需要进行一次 Paxos 的有主选举,也就是 Leader 完成自己最后一个日志提交后,主动放弃 Leader 身份,然后主动投票给另一个节点,完成平滑切换。
第三级:机器数量的调整。
OceanBase 是原生的分布式数据库,支持分布式事务,所以可以做到无感知的横向扩展。也就是说,OceanBase 集群增加机器,业务流量就会自动迁移到新增的机器中,并且在这个过程中应用是没有感知的。
考虑到泡泡玛特可能出现超级爆款的新产品,增加机器数量的扩容方案,无疑可以给泡泡玛特面对超大流量提供经得住考验的解决方案。
目前,搭载 OB Cloud的泡泡玛特抽盒机系统已经正式上线。通过 OceanBase 的租户级弹性降低了 90% 的扩缩容时间,集群级弹性可轻松应对秒杀期间的百倍流量,新品发售等高并发场景的系统连续性达到 99.999%,让用户的线上抽盒体验更加流畅、舒适。
领取专属 10元无门槛券
私享最新 技术干货