韵达基于云原生的业务中台建设 | 实战派

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
应用实时监控服务-应用监控,每月50GB免费额度
应用实时监控服务-用户体验监控,每月100OCU免费额度
简介: 本文将为大家分享韵达业务中台基于云原生的建设过程。主要分为三部分,第一部分是 IT 信息的发展规划,第二部分是韵达业务中台建设的详细过程,第三部分是对应云原生技术的支撑。

本文将为大家分享韵达业务中台基于云原生的建设过程。主要分为三部分,第一部分是 IT 信息的发展规划,第二部分是韵达业务中台建设的详细过程,第三部分是对应云原生技术的支撑。


IT 信息的发展规划


大部分人都知道韵达是“三通一达”里面的一达,是综合物流快递的服务商,其实它现在也有很多新兴的业务,包括供应链、国际业务、冷链业务等,给用户提供安全、快捷的物流服务。韵达是以客户为中心,其企业使命是传爱心、送温暖、更便利,目标是基于大数据、云原生、智能科技等信息技术来打造一流的物流企业。


1.png


韵达公司的业务发展很快,随着电商的发展,电商物流企业每天的订单量、运单量、数据量非常大。还有一些新兴的业务,业务的快速发展给其 IT 建设也提出更高的要求,主要是两方面:


一方面是如何更敏捷地支持业务发展:


  • 更加敏捷地支持业务快速发展。因为业务发展很快,核心业务能力需要服务化,要加强复用,所以一定要提升核心业务能力的复用率。


  • 服务需要加强管控和运营。系统建设好以后要在公司内部进行快速推广,要降低沟通成本。


  • 业务性能需要快速响应。现在互联网企业里常说的三高之外的新要求,就是高响应力,针对业务需求能够快速迭代发布上线。


另外一方面就是如何更稳定地支撑业务运行。


一部分人认为物流公司无非就是开个车送包裹就可以了。实际上韵达的业务量、订单量一天都是好几千万的,按运单轨迹一天数据量是几十亿的,不是开车就可以的。快递物流对应用系统依赖性是非常高的,如果我们的系统出问题快递包裹就不知道怎么送了,包括中转站包括也不知道往哪个道口分发。


韵达业务中台建设的过程


韵达整个业务运转需要系统更加稳定的运行,要更加高效,可以支持海量高并发处理能力。有些 API 每秒调用量可以达到几万,数据存储量很大,对于海量数据高并发处理也有很高要求。业务需要可观测性、故障快速定位可恢复。像韵达业务中台一些系统基本上复用率可以达到 70% 到 80%,系统出现问题,业务方一堆反馈就过来了,因此,对于故障的快速定位、恢复也有更高的要求。


2.png


基于前面两个要求,韵达开始了中台化的建设。核心是共享业务中台的建设,整个项目基于阿里云原生技术构建,其中包括企业级分布式应用服务 EDAS、应用实时监控服务 ARMS、消息队列 RocketMQ 、容器服务 ACK。韵达希望给客户提供高效、稳定、更好的物流服务,因此韵达选择与阿里云合作。


除了阿里云云原生产品之外,韵达也采用业界开源成熟的框架,包括大家都用到的 Redis、Elasticsearch 等设计,还有 Pika、Apache Doris、Apache Flink 等。韵达整个基础设施技术主要就是云原生+开源的成熟技术框架。在基础设施层上面搭建了韵达业务中台,包括订单中心、运单中心、分单中心、会员、用户画像、交易中心等,交易中心是新建设的,提供统一自理运营,其他包括能力注册、能力扩展、依赖管理、质量管理,都是业务中台统一提供。我们支持前端快递的业务板块,包括新兴业务、供应链、冷链、同城等业务。


韵达的业务中台分三个阶段,每个阶段是三个月,也是循序渐进来推动的。其中我们通过和阿里专家的合作,导入了 DDD 领域驱动设计的方法论,在战略设计阶段把整个业务中台分成了不同业务域、子域以及衔接上下文的映射关系。在战术设计阶段,进行面向对象的代码开发实践,包括领域实体、领域服务以及领域事件,实现业务逻辑和技术细节的分离。韵达的开发人员只需要聚焦于业务逻辑的实现,在基础设施层基于阿里云原生技术来搭建。


在业务中台建设过程中,韵达并不是完全从零开始的,在发展的二十多年里,韵达有很多共享能力之前在各个业务线上里,需要把这部分业务能力移交给业务中台团队,再在原有系统基础之上,对接阿里云原生技术,再进行系统层面的改造升级加固,让它可以支持海量数据高并发的处理能力。


当然,也有一些系统是从零开始建设的,比如说交易中心之前是没有的,交易中心主要做在线交易、支付等业务,整体架构上采用阿里开源的 DDD 框架(COLA),它把整个应用系统分为应用层、领域层、基础设施层,代码分层很清晰,让我们核心能力建设可以有快速地迭代并具备高响应能力。


这就是韵达的业务中台建设的大致过程。


云原生技术的支撑


在韵达的业务中台建设完成之后,能给业务带来哪些价值呢?我们简单总结一下:


第一,敏捷高效地支撑业务。将新的业务应用、业务创新进行快速组装,可以实现相关的业务应用快速响应市场。整个业务能力分为两块:第一个是基础能力,还有一个是商业能力,商业能力基于业务场景做了粗粒度的组装、打包服务。通过服务的沉淀可以带来业务的复用,快速响应市场和业务发展的需求,最大程度减少系统建设和运维带来的成本。韵达务中台很灵活,并不是很臃肿的,它可以基于业务上的需求快速迭代更新。


3.png


第二,构建面向业务全景监控能力。按照统计数据,业务中台的核心能力每天光 API 调用量近五亿次,推送消息记录就有大概十多亿的消息量,有些核心能力复用率都达到 70%,很多业务线应用都依赖于业务中台提供的能力,如果系统出问题我们需要很快知道哪里出现问题,这是很重要的。

4.png


如果没有出问题,我们也要知道中台服务的调用量,这些都要看得很清楚,出现问题也要快速定位、快速修复,这对于我们业务中台非常重要。基于项目建设中的 ARMS 监测体系,可以提升用户体验洞察和故障定位能力,这一点是不可缺失的。


点击此处,观看云原生实战视频回放。

相关文章
|
3月前
|
运维 Cloud Native Devops
一线实战:运维人少,我们从 0 到 1 实践 DevOps 和云原生
上海经证科技有限公司为有效推进软件项目管理和开发工作,选择了阿里云云效作为 DevOps 解决方案。通过云效,实现了从 0 开始,到现在近百个微服务、数百条流水线与应用交付的全面覆盖,有效支撑了敏捷开发流程。
19351 30
|
2月前
|
运维 Cloud Native Docker
云原生技术入门:Docker容器化实战
【9月更文挑战第20天】本文将引导你走进云原生技术的世界,通过Docker容器化技术的实战演练,深入理解其背后的原理和应用。我们将一起探索如何在云平台上利用Docker简化部署、扩展和管理应用程序的过程,并揭示这一技术如何改变现代软件的开发和运维模式。
|
3月前
|
Kubernetes Cloud Native Docker
云原生入门:Docker容器化部署实战
【8月更文挑战第31天】在数字化浪潮中,云原生技术成为企业转型的助推器。本文通过Docker容器化部署的实践案例,引导读者从零基础到掌握基础的云原生应用部署技能。我们将一起探索Docker的魅力,学习如何将一个应用容器化,并在云平台上运行起来,为深入云原生世界打下坚实基础。
|
4月前
|
Kubernetes Cloud Native 微服务
企业级容器部署实战:基于ACK与ALB灵活构建云原生应用架构
这篇内容概述了云原生架构的优势,特别是通过阿里云容器服务Kubernetes版(ACK)和应用负载均衡器(ALB)实现的解决方案。它强调了ACK相对于自建Kubernetes的便利性,包括优化的云服务集成、自动化管理和更强的生态系统支持。文章提供了部署云原生应用的步骤,包括一键部署和手动部署的流程,并指出手动部署更适合有技术背景的用户。作者建议在预算允许的情况下使用ACK,因为它能提供高效、便捷的管理体验。同时,文章也提出了对文档改进的建议,如添加更多技术细节和解释,以帮助用户更好地理解和实施解决方案。最后,展望了ACK未来在智能化、安全性与边缘计算等方面的潜在发展。水文一篇,太忙了,见谅!
|
6月前
|
Cloud Native 测试技术 数据库
【云原生之Docker实战】使用Docker部署flatnotes笔记工具
【5月更文挑战第17天】使用Docker部署flatnotes笔记工具
240 8
|
6月前
|
Cloud Native 关系型数据库 分布式数据库
【PolarDB开源】PolarDB数据迁移实战:平滑过渡至云原生数据库
【5月更文挑战第24天】本文介绍了如何平滑迁移数据至阿里云的云原生数据库PolarDB,包括迁移准备、策略选择、步骤、验证及示例代码。通过需求分析、环境准备和数据评估,选择全量、增量或在线迁移策略。使用数据导出、导入及同步工具(如DTS)完成迁移,并在完成后验证数据一致性、性能和安全。正确执行可确保业务连续性和数据完整性。
217 1
|
6月前
|
存储 弹性计算 Kubernetes
【阿里云云原生专栏】深入解析阿里云Kubernetes服务ACK:企业级容器编排实战
【5月更文挑战第20天】阿里云ACK是高性能的Kubernetes服务,基于开源Kubernetes并融合VPC、SLB等云资源。它提供强大的集群管理、无缝兼容Kubernetes API、弹性伸缩、安全隔离及监控日志功能。用户可通过控制台或kubectl轻松创建和部署应用,如Nginx。此外,ACK支持自动扩缩容、服务发现、负载均衡和持久化存储。多重安全保障和集成监控使其成为企业云原生环境的理想选择。
484 3
|
6月前
|
监控 安全 Cloud Native
【云原生之Docker实战】使用Docker部署Ward服务器监控工具
【5月更文挑战第11天】使用Docker部署Ward服务器监控工具
214 4
|
6月前
|
Cloud Native 安全 Linux
【云原生之Docker实战】使用Docker部署mBlog微博系统
【5月更文挑战第10天】使用Docker部署mBlog微博系统
152 3
|
6月前
|
运维 Cloud Native 持续交付
【阿里云云原生专栏】从零到一搭建云原生应用:阿里云云原生应用平台实战教程
【5月更文挑战第24天】本文档是一份阿里云云原生应用平台的实战教程,介绍了如何从零开始搭建云原生应用。内容涵盖云原生应用的特点(容器化、微服务、CI/CD和自动化运维)以及阿里云提供的服务,如容器服务、服务网格和CI/CD工具。教程详细讲解了创建容器集群、编写Dockerfile、构建镜像、部署应用、配置服务网格和设置CI/CD的步骤。通过本文,读者将学会利用阿里云平台开发和管理云原生应用。
732 0