更新时间:2023/5/15 16:35:07  文章录入:admin  责任编辑:admin
又到了双十一、双十二、年终大促季,每年这个时候都是购物狂欢节,不仅促销产品多、种类全、覆盖面广,促销花样也在不断翻新,直播、砍价、优惠券、加价购等,令人眼花缭乱。当全国人民沉浸在买买买的自嗨中无法自拔时,考验的不仅是百万商家的战略战术,更是各种技术平台的实力比拼,尤其是底层的数据库,将迎来流量峰值期间的高并发和快速响应挑战。高并发业务场景下快速、弹性扩缩容挑战▲微盟产品和服务布局以微盟为例,公司承载的是多渠道的广告营销业务,提供和各个细分领域相关的垂直SaaS解决方案及服务。比如:双11期间的秒杀、拼团和砍价,需要很多专业解决方案和功能支撑,而微盟拥有丰富的产品和解决方案,处于业界最领先地位,很多优惠券、抽奖、广告牌、激励转化等功能,都有专门的数字化插件。借用微盟数据库技术负责人 余成真 的话来说,“虽然微盟的很多SaaS业务经常被模仿,但从未被超越。”从大的平台架构来看,每个业务系统都是独立应用,包括独立的后台、技术栈、数据库,并且对于库和表的设计,也各不相同。而对于“秒杀”类活动,每天收到的活动报备请求至少几十个,遇到重要节日以及重大营销活动时,可能会有上百个商家发起活动报备申请,无论是用户在线数,还是业务请求量,都是TOP级别。所以,对于数据库的性能来说,必须满足如下要求:● 反应要快,并且不同应用接口响应要求不一样。● 针对恶意刷票行为,要进行流量防控。● 要具备数据库的大量读写能力。大体来看,微盟数据库团队主要面临4大挑战:1.高并发、低延时需求。微盟的核心接口在平常状态下都是毫秒级响应,数据库的每条请求都是几毫秒,甚至是纳秒级响应时间。在活动高峰期,某些营销插件的场景类数据库,单实例就有超过7万真实QPS记录值。2.确保稳定性及高可用性。稳定性和可用性是基本要求,目前主要依赖腾讯云数据库底层高可用能力,同时微盟自己也有一套针对应急场景的可用性工具,未来希望能更可靠、更稳定。3.数据安全。如何对人员安全、数据库安全进行治理,成为一项长期工作。需要进一步加强治理的事项,包括:数据分类分级、线上数据查询的精细授权、数据灾备的定期演练、运维操作风控等。4.海量实例数据库运维。微盟数据库类型多、数量多、业务线多,管理好这些元数据是DBA做好各项工作的先决条件。同时,只有做到精细化运维,才能规避工作中遇到的数据库问题 、将故障及风险降至最低。此种背景下,微盟开启了全面的云数据库转型征程,从思维模式开始,让整个架构向更弹性、更灵活的服务模式演进。采用现代化架构解决数据安全、技术能力扩张问题▲基于云数据库的解决方案与实践“SaaS电商业务的本质是,对数据库应用性能要求较高,必须抗住各种压力。” 余成真说道。在数字化转型背景下,企业业务的核心是数据,数据驱动业务,数字即服务。而承载所有数据的数据库,既有事务ACID特性的要求,又有海量数据存储的要求。所以,数据库产品在具备联机事务处理能力同时,数据库的读取性能也必须强悍,同时还要具备数据分析能力。另外,微盟业务发展速度飞快,资源需求呈指数级倍增,数据安全、数据库类型扩展、数据库技术能力扩展等核心问题,都需要重新考虑。微盟持续保持高速发展,创新和不断迭代是内在基因。2020年,为了助力更多商家实现数字化转型,微盟提出了“TSO全链路智慧增长”,从流量、SaaS工具和运营角度,构建全域数字化商业闭环。从产品角度看,最重要的是,全面提升信息安全保护能力,防止灾害及不可抗拒因素给业务系统带来的伤害。为了配合集团业务高速发展的需求,数据库团队必须基于现代化业务架构,转变思维模式,让所有业务在充分享受云的弹性能力的同时,也要兼具业务的隔离性。利用云数据库弹性满足高并发和快速调整需求纵观微盟数据库的发展史,主要分为3个重要阶段:1. 早期IDC建设阶段,包括自建黑石数据库服务集群。2016年,微盟的数据库从阿里云全线迁移到腾讯黑石机房,实现了跨IDC的异地同步。在迁移之初,不仅要保证数据的一致性,对数据可用性的时间也有极高要求,数据库实例要在30分钟内全部切换完,具体到单套实例的不可用时间要限制到秒级。而且,迁移过程中注意的细节非常多,涉及到对项目的协调及人员的动员力,在数据库同步迁移技术上,要保证数据的绝对一致性,迁移过程中也要具备更缜密的思维。同时,还讲求战略战术和技巧,微盟当时使用的是主从复制技术,因为经典意味着可靠。为了更贴合业务发展,微盟还自建了数据库服务集群,用半年时间打造了一整套数据库私有云解决方案,包括具备监控、告警、备份、高可用等相关功能。不仅解决了业务问题,在技术上也有重大突破,包括借助开源工具实现了二次开发,期间还编写了大量辅助运维工具,将零散的运维工作进行了工程化建模。由于数据库硬件服务器是高效及高可用架构设计,所以数据库集群在4年多线上真实环境应用中,没有出现任何事故级故障,整体集群非常稳定、高效。2. 数据库全面上云以及异地多活架构升级。2020年,为了配合TSO业务战略落地,微盟尝试探索公有云路线。因为,相对于私有云,公有云的弹性扩展能力强,更能满足业务高并发需求。经过大量调研、测试、选型、验证后,公司开始制定实施计划,全面上云。其实,当时很多云厂商提供的异地多活方案都不是非常成熟。期间,微盟数据库团队和腾讯云数据库部门保持密切沟通与互动。从最初通过线上边缘业务进行测试,到之后发展到周期性全实例的多活故障演练,最终才实现了技术上的突破,创造了成功的多活方案,高度确保了业务的稳定性。3. 加码数据安全,实现精细化运维。2021年,为了确保数据库部门拥有全线的业务支撑能力,微盟制定了很多和运维相关的规范及流程。主要包含两个维度:一方面,运维操作人员要具有可量化的操作细节;另一方面,降低风险,提升沟通效率。集中式+分布式技术架构设计大体来看,微盟云数据库转型是企业支持数字化业务的最重要里程碑,他们开创了新的思维模式,用一个更灵活的策略,把大业务拆小,小业务拆得更细。并且,在每一个细的模块上,都做了数据库级别的支撑。这意味着,整个后台不仅拥有众多实例,能充分利用云基础设施的弹性,随时按需使用,还能确保实例之间的隔离性。即便是小商户,也能做到项目式的隔离,确保每个项目都不受影响。在具体的数据库设计上,微盟采用的是集中式+分布式技术架构。● 分布式应用场景:微盟把Redis、Kafaka作为大型分布式系统的关键组件,这些组件在实时数据或流式数据架构中扮演着重要角色。● 联机事务处理应用:微盟采用腾讯自研的云原生数据库TDSQL-C、腾讯云MySQL、腾讯云PostgreSQL支撑底层全业务线存储,存储所有业务线的元数据,并提供重要数据计算及存取能力。● 分析型应用场景:通过TiDB/ HBase /TDSQL-H解决实时及离线分析问题。在余成真看来,决定微盟云数据库选型的最关键因素有四点,即安全、性能、稳定和成本。微盟是基于微信生态做的产品级应用,也是腾讯云华东地区头部、重要VIP客户,所以对腾讯云有着天然的亲和力,微盟的很多基础设施服务都在使用腾讯云提供的产品,比如:高防、LB、VPC网络、CVM、COS、DB、EMR等等。针对腾讯云数据库产品提供层面,微盟目前主要使用的是MySQL及云原生数据库TDSQL-C,以及非关系型数据库Redis。更安全、更稳定、性能更强“数据库全面上云后,不仅实现了当初规划的目标,在数据安全性、应用的稳定性以及性能方面,也有更卓越表现。” 余成真对云数据库上线后的效果,给与了高度评价。总结而言,数据库上云后,获得了如下效果:● 全面确保数据安全。底层基础设施安全:由于数据库底层运维工作主要交给腾讯云数据库团队来做,极大地确保了底层基础设施的安全性。数据安全:为了从根本上确保数据安全,微盟在数据库权限系统上设置了最小粒度的授权原则。具体做法是,将权限绑定于资源对象上,人及业务组仅有权限查看所属的数据库资源。对这些资源的操作,会进一步细化权限,如:流程化管理,要经过“申请、一级审批、二级审批、执行”这样一个流程。权责到人:微盟还将所有DBA操作进行工单化,具体包括:查询申请工单、SQL上线工单、数据迁移工单、数据归档工单等等。通过对人、对资源的权限控制,对数据的分类分级等方式,来保证数据安全。为了与国家数据安全法保持实时同步,微盟已将数据安全法进行了平台化处理。● 运营能力提升。为了满足更精细化的运维需求,微盟基于腾讯云数据库提供的能力,做了进一步扩展,对更贴近业务场景的功能做了处理。为了全面提升数据库运营能力,通过监控数据、告警数据、慢日志数据等进行资源评分,为资源配置提供重要依据,也可推导业务代码质量,产品响应质量等。简单理解,腾讯云数据库把底层的脏活苦活累活都干完了,微盟的数据库团队就无须再关心底层基础设施问题,而是拿出更多时间,关注业务层面的问题。● 性能增强。对于微盟最关注的数据库性能,也做了进一步增强,实现了底层内核以及整体性能的优化。微盟建立了数据库性能压测跟踪平台,可按照自己的标准进行快速衡量各厂商云数据库质量。在数据库上云后,微盟还建立了真实业务SQL模型,能推导代码质量,度量接口响应指标等。● 成本优势。云数据库上面的资源弹性扩缩容能力,以及在节约成本方面,也是传统业务模式无法比拟的。腾讯云数据库拥有资源的全生命周期管理,包括:资源申请、资源创建、数据库管理、账号类型管理、账号权限管理、资源业务域归属、资源负责人管理、资源监控备份告警管理、资源下架单、资源回收站。传统IDC模式下,一旦活动来了,进行扩容以后,成本就一次性加进去了,即使缩容以后,成本还是那么多。但使用腾讯云就不一样,可以按需使用,随用随付。微盟云数据库不仅全面拥抱了云原生,在HTAP融合发展趋势上也在不断探索。目前,具有业务属性的云原生数据库TDSQL-C,已开始逐步迁移,承担的是高读QPS类的业务;其中还有一小部分是TDSQL-H系列,解决了分析型应用场景的查询问题,承担一些AP类的业务。微盟通过腾讯云数据库的全栈服务,满足了AP、TP全场景需求,支撑着百万商家的大促及秒杀等核心业务。小结:从某种角度看,微盟数据库上云旅程,其实是企业业务创新不断发展的结果。以数据库实例数量为例,上线之前是1000多套,现在使用了云上的资源以后,已经发展到2000多套,翻了至少一倍。从资源规模上,已经做了一定的数量级,如果全部自己搭建,其业务的难度以及工作量,都无法想象。关于微盟:微盟,成立于2013年,虽然发展时间不长,但已成为一家领军企业云端商业及营销解决方案提供商,拥有超过7500名员工,全球加盟商超过1600家,入驻商户超过300万家。公司旗下业务主要包括商业云(微商城、智慧零售、智慧餐饮、智慧酒店、智慧美业)、营销云(微站、智营销、企微助手)、销售云(销氪)以及和精准营销相关的丰富的媒体资源和DMP。媒体资源主要是指和腾讯、抖音、快手、头条、知乎、小红书等平台的对接;而DMP,则包括精准受众定位、分析与优化和更灵活的格式等。微盟的企业理念是,致力于成为企业数字化转型最佳伙伴,助力更多商家开启数字化转型征程。 打印本文 打印本文  关闭窗口 关闭窗口