中国信息通信研究院最新发布的《2020年中国云原生用户调查报告》中显示,2019年我国云原生产业规模已达350.2亿元,云原生已经成为数字经济大潮下传统行业数字化转型的最新技术驱动力。根据报告,规模化应用的安全性、可靠性和连续性成为当前用户选择云原生的主要疑虑,此外还有技术栈学习成本高、无法与现有平台/流程整合、系统迁移难度大等各种担忧。
10月24日,由网易数帆主办的网易数字+云原生论坛(视频回放)正是以“玩转云原生,拥抱数字化”为主题,共同探讨行业数字化转型最新趋势,研商新型数字技术发展方向和应用前景。在下午的行业实践专场,来自网易轻舟、网易传媒、美团点评、PingCAP、贝壳金服和爱奇艺等团队的一线技术专家,分享了云原生相关技术在不同行业和领域的实践,不仅验证了云原生对于各行业发展的价值,也展现了实现云原生的可行技术路线,为企业应用云原生架构推进数字化转型提供了丰富的行业范例。
网易轻舟:Service Mesh加速网易业务多元化
网易轻舟微服务平台负责人冯常健分享了Service Mesh在网易的实践应用。面对网易集团业务多元化和技术多元化两大特点,建设Service Mesh实现平台化、开放、解耦很有必要,是否基于 RPC 框架提供服务治理、如何支持多语言、基于开源项目还是自研则是必须思考的问题。根据网易的经验,在技术选型上,支持云原生开放标准、高性能、扩展性,具有良好的API和抽象,并兼顾技术风险、研发成本等,才符合引入Service Mesh的预期;在落地应用上,支持复用原有注册中心的注册发现,兼容HTTP及各种RPC协议的服务通信,支持与非网格化集群混合调用的平滑迁移,API网关,性能优化,以及支持热升级、业务无感的Sidecar管理等对于Service Mesh都是极为关键的因素。
网易轻舟微服务平台负责人 冯常健
结合开源云原生社区的发展,网易轻舟选择了定制Istio和扩展Envoy的技术路线,API网关层面,支持通过插件机制满足各种业务定制需求,并做到与Service Mesh统一控制面;在性能方面,通过SR-IOV容器网络、协议栈优化、配置瘦身等方式实现延时降低50%以上。Service Mesh实践也为网易带来了巨大的收益:首先,通过大促、大事件等大规模高并发场景验证,稳定性保障和运维效率得到了大幅提升;其次,解耦业务,减少研发关注点,极大降低了微服务架构支撑的技术复杂度;再次,业务多语言场景(Java、Node、Python等)的治理体系完成了统一;此外也锚定了新的基线,使得网易技术栈逐步向开放、云原生、可重用方向演进。
网易传媒:云原生实践三部曲,资源利用率翻三倍
网易传媒资深架构师柴克斌介绍了内容消费升级下的网易传媒架构演进之路,主要分享了容器化、Service Mesh和混合部署三个关键。网易传媒基础架构升级之前面临的主要问题是资源利用率低、资源使用流程繁琐、DDoS攻击和数据爬取严重、突发流量/发布/变更导致线上故障等,架构升级目标包括优化成本、提升效率、加固安全和保障稳定。网易传媒和轻舟云原生团队合作实施架构升级,采用了轻舟容器平台NCS、微服务框架NSF、持续交付平台CICD、混部、API网关、中间件Redis、中间件Kafka等组件,这是因为轻舟平台具有基于云原生便于扩展、组件全面支持各种功能、性能优越和稳定性强等特点。
网易传媒资深架构师 柴克斌
在容器化层面,传媒采用容器云、专属云和物理机并存的架构,容器云和专属云在一个VPC内,通过DGW/NLB和物理机互通。基于轻舟Service Mesh服务,实现支持Dubbo,Thrift协议、SideCar热升级等能力,并保留了原有 ZooKeeper注册中心。服务化及Kafka、Redis容器化又为混部提供基础,在线/离线混部架构通过离线任务Job、在线任务Service和允许混部的Job的调度,优先在线服务可用,保证整体资源使用率在一定水位。柴克斌介绍,目前,网易传媒核心业务都已经迁移到容器内,运行了数万个Pod,数千个Service,80%物理机进入容器资源池,CPU使用率从20%提升到了50%~60%。
PPT下载:《网易传媒架构演进之路》
美团点评:适配公司技术体系比新潮技术更重要
美团点评技术专家高升分享了美团点评服务治理系统OCTO的设计及实践,该系统支撑了外卖配送、酒店旅游、支付等多元化业务。OCTO 1.0主要包括命名服务(含服务治理代理、健康检查系统、命名服务存储)、RPC服务框架(覆盖Java、C++、Node.js)和一站式治理平台,除了基础治理能力,还提供高性能/易用性、全链路压测、稳定性保障、服务鉴权/加密、跨地区容灾和扩展等高阶能力。
美团点评技术专家 高升
OCTO 2.0主要是基于多语言、研发效率、异构体系融合、中心化治理等需求,引入Sidecar代理,实现Mesh化。OCTO 2.0在数据面基于Envoy深度定制,Envoy的Filter模式及xDS设计扩展性强是一大优势。高升总结了美团点评服务治理实践的两大心得:首先,服务治理建设应该围绕体系标准化、易用性、高性能三个方面开展。其次,大规模治理体系Mesh化应该关注两点,其一,适配公司技术体系比新潮技术更重要,重点关注容器化 & 治理体系兼容打通;其二,建设系统化的稳定性保障体系及运维体系。
PPT下载:《美团点评服务治理系统设计及实践》
PingCAP:Operator设计增强Kubernetes数据库管理能力
PingCAP Cloud研发工程师李淳竹分享了分布式数据库在云环境下的实践。Kubernetes和PingCAP开源的TiDB分布式数据库,作为遵循同样的云原生最佳实践原则的两个项目,前者有pod、deployment、statefulset等设计,这些未涉及如何管理一个 TiDB 集群的生命周期,但Kubernetes支持自定义控制器、扩展调度器,TiDB团队通过TiDB Operator的设计,实现部署、升级、扩缩容、故障恢复、数据备份/恢复/导入/导出/迁移的全生命周期管理。
PingCAP Cloud研发工程师 李淳竹
故障转移设计,TiDB Operator 的控制器能够通过 PD 中的状态信息判断 TiKV store 是否异常,酌情自动补充新的 TiKV。性能方面,TiDB Operator支持独享节点(Dedicated)部署与混部,可以按照优先级权衡性能与成本;支持通过 HostNetwork 部署集群,以消除额外网络开销。针对Kubernetes全集群故障,则保留存储,确保不丢数据。李淳竹还透露,TiDB Operator未来将支持配置异构部署、跨 Kubernetes 部署,以实现更灵活、更高可用的部署方案,当然还有自动伸缩、数据迁移工具的更多计划,这意味着这个数据库正探索如何将云原生的优势挖掘得更彻底。
PPT下载:《分布式数据库在云环境下的实践》
贝壳金服:立足于业务的架构才是合理的架构
贝壳金服高级技术经理江玉林分享了贝壳金服企业钱包微服务架构演进。企业钱包作为贝壳各个业务线商家的资金管理工具,通过页面方式嵌入贝壳的各个商家系统之中,为不同商家提供多形态,多功能的资金管理服务,在底层兼容支付能力的多版本接口。其面临的主要挑战包括如何高效支持多业务线、服务之间隔离、如何用积木方式搭建、多套系统并存问题、能力进行服务化和支付服务接口迁移等。
贝壳金服高级技术经理 江玉林
贝壳金服在梳理企业钱包业务之后,基于租赁公寓商家和二手加盟商的钱包后端是彼此独立的两个应用的现状(服务接口和业务功能不一样),通过企业钱包微服务架构设计->租赁公寓钱包微服务改造->加盟商H5钱包迁移->加盟商PC钱包迁移等步骤,有条不紊企地实现企业钱包能力微服务化,以及服务治理能力,做到积木方式搭建、扩展性强、服务隔离、敏捷交付和弹性扩容,也解决了遗留问题。在改造过程中,贝壳金服既采用了Spring Cloud、Spring Cloud Gateway、Apollo、Eureka、SkyWalking、ELK等开源技术,也采用一些基础架构部门自研的系统,如Metric监控、异常调用告警、DevOps系统等,这些对微服务架构顺利演进同样重要。微服务改造完成之后,贝壳金服系统架构更为合理,能够高效支持业务的诉求。江玉林强调,立足于业务的架构才是合理的架构。
爱奇艺:多级故障处理预案护航API网关
爱奇艺容器云负责人赵慰分享了爱奇艺API网关实践。API网关是爱奇艺微服务平台的核心组件之一,基于爱奇艺各业务特色较为鲜明、技术不那么统一的现状,该平台的设计思路包括不设层级扁平管理、支持跨地区跨数据中心、兼顾物理机/虚拟机/容器和支持多语言/多协议等。在此背景下,API网关要解决的问题,主要包括如何组织 API、如何与微服务关联、如何对外暴露服务及如何维护等。
爱奇艺容器云负责人 赵慰
微服务场景下, API网关由于带有逻辑,无法像传统简单的L4代理那么可靠,需要思考网关作为应用/服务的一部分,否则逻辑会出错就难以排查处理。这需要思想认识上的改变。爱奇艺API网关的功能设计包括Nginx 最基础的代理、转发、区分 server、location 等,监控/报警,日志接入 Venus(内部日志服务),调用链接入 Rover (内部调用链服务),支持 HTTPS、IPv6、Akamai 全球加速,支持 WAF,认证管理,流量控制,自定义扩展插件(如对接 passport 认证)等,结合爱奇艺开源的基于DPDK的L4负载均衡技术,实现高可用、大容量、高性能 HTTPS Offload。流量规则设计,针对个性化需求,同时在Consul多集群服务注册基础上加一层服务路由,按照一定的比例去其他可用区找对应的规则,而不走默认的统一规则。赵慰强调了多级故障处理预案对于API网关设计的重要性,针对某可用区、某服务、注册中心、整个集群等不同范围的故障,都要有域名、集群等各种切换的方案。
小结
不同业务团队,尤其是业务多元化的组织的实践分享,已经证明了容器、微服务/Service Mesh、API网关等云原生相关技术对于业务发展的巨大作用,不仅仅是简单的节约成本,更是支持开发团队轻装上阵,提高开发能力和效率,加速业务创新,走好数字化发展之路。
结合不同企业的基础设施建设,实践者都优先采用与业务匹配度最高的技术,而非盲目选择最新的技术,但对于各领域的不同需求而言,一线企业目前都已经探索出了较为成熟的技术方案,将其大规模应用于生产环境,并取得了良好的成效。当然,从快速上车、节约成本及长远发展的角度思考,来自云原生开源社区、发展势头良好的组件,已经不可或缺。