热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于运维:韵达基于云原生的业务中台建设-实战派

本文将为大家分享韵达业务中台基于云原生的建设过程。次要分为三局部,第一局部是IT信息的倒退布局,第二局部是韵达业务中台建设的具体过程,第三局部是对应云原生技术的撑持。

本文将为大家分享韵达业务中台基于云原生的建设过程。次要分为三局部,第一局部是 IT 信息的倒退布局,第二局部是韵达业务中台建设的具体过程,第三局部是对应云原生技术的撑持。

IT 信息的倒退布局

大部分人都晓得韵达是“三通一达”外面的一达,是综合物流快递的服务商,其实它当初也有很多新兴的业务,包含供应链、国内业务、冷链业务等,给用户提供平安、快捷的物流服务。韵达是以客户为核心,其企业使命是传爱心、送温暖、更便当,指标是基于大数据、云原生、智能科技等信息技术来打造一流的物流企业。

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

一方面是如何更敏捷地反对业务倒退

  • 更加敏捷地反对业务疾速倒退。因为业务倒退很快,外围业务能力须要服务化,要增强复用,所以肯定要晋升外围业务能力的复用率。
  • 服务须要增强管控和经营。零碎建设好当前要在公司外部进行疾速推广,要升高沟通老本。
  • 业务性能须要疾速响应。当初互联网企业里常说的三高之外的新要求,就是高响应力,针对业务需要可能疾速迭代公布上线。

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

一部分人认为物流公司无非就是开个车送包裹就能够了。实际上韵达的业务量、订单量一天都是好几千万的,按运单轨迹一天数据量是几十亿的,不是开车就能够的。快递物流对利用零碎依赖性是十分高的,如果咱们的零碎出问题快递包裹就不晓得怎么送了,包含中转站包含也不晓得往哪个道口散发。

韵达业务中台建设的过程

韵达整个业务运行须要零碎更加稳固的运行,要更加高效,能够反对海量高并发解决能力。有些 API 每秒调用量能够达到几万,数据存储量很大,对于海量数据高并发解决也有很高要求。业务须要可观测性、故障疾速定位可复原。像韵达业务中台一些零碎基本上复用率能够达到 70% 到 80%,零碎呈现问题,业务方一堆反馈就过去了,因而,对于故障的疾速定位、复原也有更高的要求。

基于后面两个要求,韵达开始了中台化的建设。外围是共享业务中台的建设,整个我的项目基于阿里云原生技术构建,其中包含企业级分布式应用服务 EDAS、利用实时监控服务 ARMS、音讯队列 RocketMQ 、容器服务 ACK。韵达心愿给客户提供高效、稳固、更好的物流服务,因而韵达抉择与阿里云单干。

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

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

在业务中台建设过程中,韵达并不是齐全从零开始的,在倒退的二十多年里,韵达有很多共享能力之前在各个业务线上里,须要把这部分业务能力移交给业务中台团队,再在原有零碎根底之上,对接阿里云原生技术,再进行零碎层面的革新降级加固,让它能够反对海量数据高并发的解决能力。

当然,也有一些零碎是从零开始建设的,比如说交易中心之前是没有的,交易中心次要做在线交易、领取等业务,整体架构上采纳阿里开源的 DDD 框架(COLA),它把整个利用零碎分为应用层、畛域层、基础设施层,代码分层很清晰,让咱们外围能力建设能够有疾速地迭代并具备高响应能力。

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

云原生技术的撑持

在韵达的业务中台建设实现之后,能给业务带来哪些价值呢?咱们简略总结一下:

第一,麻利高效地撑持业务。将新的业务利用、业务翻新进行疾速组装,能够实现相干的业务利用疾速响应市场。整个业务能力分为两块:第一个是根底能力,还有一个是商业能力,商业能力基于业务场景做了粗粒度的组装、打包服务。通过服务的积淀能够带来业务的复用,疾速响应市场和业务倒退的需要,最大水平缩小零碎建设和运维带来的老本。韵达业务中台很灵便,并不是很臃肿的,它能够基于业务上的需要疾速迭代更新。

第二,构建面向业务全景监控能力。依照统计数据,业务中台的外围能力每天光 API 调用量近五亿次,推送音讯记录就有大略十多亿的音讯量,有些外围能力复用率都达到 70%,很多业务线利用都依赖于业务中台提供的能力,如果零碎出问题咱们须要很快晓得哪里呈现问题,这是很重要的。

如果没有出问题,咱们也要晓得中台服务的调用量,这些都要看得很分明,呈现问题也要疾速定位、疾速修复,这对于咱们业务中台十分重要。基于我的项目建设中的 ARMS 监测体系,能够晋升用户体验洞察和故障定位能力,这一点是不可缺失的。


推荐阅读
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • 在当今的软件开发领域,分布式技术已成为程序员不可或缺的核心技能之一,尤其在面试中更是考察的重点。无论是小微企业还是大型企业,掌握分布式技术对于提升工作效率和解决实际问题都至关重要。本周的Java架构师实战训练营中,我们深入探讨了Kafka这一高效的分布式消息系统,它不仅支持发布订阅模式,还能在高并发场景下保持高性能和高可靠性。通过实际案例和代码演练,学员们对Kafka的应用有了更加深刻的理解。 ... [详细]
  • 美团优选推荐系统架构师 L7/L8:算法与工程深度融合 ... [详细]
  • 从无到有,构建个人专属的操作系统解决方案
    操作系统(OS)被誉为程序员的三大浪漫之一,常被比喻为计算机的灵魂、大脑、内核和基石,其重要性不言而喻。本文将详细介绍如何从零开始构建个人专属的操作系统解决方案,涵盖从需求分析到系统设计、开发与测试的全过程,帮助读者深入理解操作系统的本质与实现方法。 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • 修复一个 Bug 竟耗时两天?真的有那么复杂吗?
    修复一个 Bug 竟然耗费了两天时间?这背后究竟隐藏着怎样的复杂性?本文将深入探讨这个看似简单的 Bug 为何会如此棘手,从代码层面剖析问题根源,并分享解决过程中遇到的技术挑战和心得。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 本文源自极分享,详细内容请参阅原文。技术债务如同信用卡负债,随着时间推移,修复成本会越来越高,因此程序员必须对此有深刻认识。此外,团队应致力于培养一种持续维护和优化代码的文化,以减少技术债务的累积。 ... [详细]
  • 在C语言中,定义一个包含学号、姓名和年龄的学生信息结构体,并遵循严格的命名规范。首先,初始化结构体变量的所有成员为默认值,然后将其学号设为88,姓名设为“liming”,年龄设为25。最后,在控制台上输出该结构体变量的详细信息,以验证数据的正确性。例如,使用 `typedef struct Student` 定义结构体类型。 ... [详细]
  • 字节跳动深圳研发中心安全业务团队正在火热招募人才! ... [详细]
  • Go语言实现Redis客户端与服务器的交互机制深入解析
    在前文对Godis v1.0版本的基础功能进行了详细介绍后,本文将重点探讨如何实现客户端与服务器之间的交互机制。通过具体代码实现,使客户端与服务器能够顺利通信,赋予项目实际运行的能力。本文将详细解析Go语言在实现这一过程中的关键技术和实现细节,帮助读者深入了解Redis客户端与服务器的交互原理。 ... [详细]
author-avatar
_ZY寶貝_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有