三亿用户量的微服务改造,华为云是怎么做到的?
序:华为智能助手是华为在手机终端中推出的智能应用服务,在手机负一屏中聚合用户所需要的内容与服务,并结合用户的习惯与喜好进行智能推荐。用户只需在首屏轻轻一划,不用打开各类繁琐的手机应用,即可直接获取想要的服务与内容,帮助用户的工作生活更加智能和便捷。
随着智能手机的日益普及,手机中的智能应用正在走进人们生活中的每一个角落,作为运行在华为手机上的超级应用,华为智能助手以3.2亿的用户体量运行在华为云的消费者云上,为用户提供稳定可靠的智能生活服务,其中应用市场日活高达6500万,云端相册每日新增相片已达4200万,庞大的体量使得应用系统稳定、可靠、敏捷的运行显得至关重要,而在背后全天候高效支撑的正是华为云PaaS服务中的微服务引擎CSE(Cloud Service Engine)。
CSE是华为云PaaS家族产品中的企业架构解决方案,可为企业提供高性能的微服务框架和一站式的服务注册、服务治理、动态配置和分布式事务管理,帮助传统架构真正实现微服务应用的快速开发和高可用运维,而自去年商用发布以来便全面应用在华为智能助手的传统架构改造中。
从月到天
助力亿级应用交付周期大幅缩短
华为智能助手可以根据用户的使用习惯提供个性化的应用推荐组合,同时也为用户提供了应用市场、游戏中心、智能家居、视频、阅读等多种基本工具应用,满足用户生活中的各种智能化场景,随着业务量与日俱增,在海量用户的数字化场景下,早期的单体应用架构已不能满足业务的高并发、敏捷迭代的业务需求,迭代上新节奏缓慢,牵一发动全身,不仅仅影响用户体验,更严重影响了云端的运维效率,系统架构向分布式云化架构发展已成必然。
CSE具备开发模式门槛低、通用性强的改造优势,并支持契约优先,服务接口统一规范管理,微服务之间的调用非常方便,根据业务的现实痛点,智能助手将其后端拆分为多个微服务,并实施集群部署,而这一切全部基于CSE微服务框架开发并统一管理,现已支撑9000W用户日均1.8亿次请求, CSE稳定支持华为智能助手实现多个应用的分布式部署及管理,大幅缩短应用的迭代周期,并通过动态自治帮助其释放运维成本。
以智能助手中的华为音乐为例,华为云CSE将其拆分为运营管理、内容推荐、用户交互三大服务场景,并进行了十五个以上的微服务拆分,使每个应用实现分布式的独立并行,新特性功能上线时间从以往的月为单位提升至天,大大缩短了业务的交付周期,通过敏捷迭代,不断满足在消费者场景中多变突发的需求。
化繁为简
实现复杂运维场景的自动化管理
虽然智能助手务已经跑在云端,在此前的单体架构的支撑下已难跟上前台业务的节奏,随着业务量的爆发性增长,服务越来越多,如何协调线上运行的各个服务,保障服务的SLA,对服务架构和运维人员是一个很大的挑战,当线上业务发生故障时,需要对故障业务做服务降级、流量控制、流量迁移等,快速恢复业务,这使运维的成本和难度成几何级上升。
CSE通过在线的微服务治理,帮助智能助手实现微服务的弹性伸缩、故障自动迁移、降级熔断等,保障系统的运行质量。采用CSE微服务进行改造,使华为智能助手的运维效率大幅提升,智能助手应用SLA提升到99.96%,有效的释放了沉重的运维压力。针对更轻量级的架构,智能助手的技术团队同时也拆分至多个3-5人的微服务团队,负责整个微服务的设计、开发、测试、部署运维和治理,通过全功能团队的建设,让业务真正敏捷起来。
有序重构
同等配置架构性能有效提升50%
早期的智能助手以部门自研GAF(封装Redis+Zookeeper作为通讯中间件)框架基础上构建,在并不复杂的业务场景下可以满足系统的稳定运行,随着业务量的攀升、系统复杂度提升、应用场景不断增加,GAF的架构开发门槛高、系统可扩展性差、应用耦合性高的问题日益严重,无法应对高并发流量场景,系统演进迫在眉睫。
使用CSE框架进行全部重构之后,所有系统拆分成微服务,微服务之间调用采用Restful接口,使用SpringMVC的开发风格,开发效率提高一倍。使用EdgeService统一接口接入、鉴权、流控,在接口兼容场景前提下,同样的资源配置,系统吞吐量提高50%,系统开销降低30%。系统在可扩展性、高可靠性上优势明显,新特性开发全面采用DevOps开发模式,开发、运维成本明显降低。
随着华为终端消费市场的不断扩大,用户服务以及用户体验的持续提升显得尤为重要。作为距离桌面主屏最近的区域,华为智能助手在手机负一屏上不断的实现技术与产品创新,借助华为云CSE的微服务框架进行分布式云化改造,在提升系统性能,降低运维成本的同时,可以让智能助手更加专注在应用服务层的创新,持续为三亿用户提供更“懂”你的智能生活服务。
—华为消费者云微服务化总架构师王世军
微服务与容器技术的结合正在发挥越来越重要的作用,华为“全面云化”战略下的统一PaaS平台,微服务与容器是其核心技术。华为微服务CSE已经在华为流程IT、各产品线云化、消费者云、外部客户等众多重大项目上成功稳定商用。包括最近在世界移动大会MWC2018上发布的华为5G核心网解决方案,也是基于华为的微服务架构。我们欢迎更多企业用户使用华为云的微服务,助力企业应用上云更简单、运行更高效,实现Cloud-Native敏捷开发。
—华为云PaaS服务产品部部长廖振钦
CSE以华为自身实践为基础,历经亿级消费者业务场景的考验,专注帮助企业解决云化转型及上云前后的分布式架构改造难题,针对不同企业的业务场景,提供多语言、多架构的解决方案,致力于帮助企业搭建自身的分布式系统,更加敏捷的应对数字化转型带来的挑战。
相关链接:
-END-