外卖物流系统如何高效建设?
2023-09-13 22:00:42 欢乐点

引言:即时货运看似简单,表面看仅仅是货运最原始的配送模式,即:点对点配送。并且,在互联网成为基础设施的明天,大数据、云估算、物联网等先进技术都将至时货运配送体系中得到应用,数据驱动,智能调拨已然成为即时货运的核心竞争力。假如即时货运与上游的传统货运体系和智慧供应链对接,将打通传统货运配送最难的末端网路,促使智慧供应链向智慧供应网转型,即时货运的小趋势将促进智慧货运大趋势发展。美团即时货运系统在国外稳居领先地位,美团的即时货运的脑部是怎样建设的?明天向你们推荐一篇美团资深技术专家宋斌的文章,供你们参考。(王继祥)

团外卖的即时货运分布式高并发系统是怎样建设的?背景

美团外卖早已发展了三年,即时货运探求也经历了3年多的时间,业务从零孵化到初具规模,在整个过程中积累了一些分布式高并发系统的建设经验。最主要的收获包括两点:

即时货运业务对故障和高延后的容忍度极低外卖配送系统,在业务复杂度提高的同时也要求系统具备分布式、可扩充、可容灾的能力。即时货运系统阶段性的逐渐施行分布式系统的构架升级,最终解决了系统宕机的风险。

围绕成本、效率、体验核心三要素,即时货运体系大量结合AI技术,从定价、ETA、调度、运力规划、运力干预、补贴、核算、语音交互、LBS挖掘、业务运维、指标监控等方面,业务突破结合构架升级,达到促规模、保体验、降成本的疗效。

本文主要介绍在美团即时货运分布式系统构架逐层演化的进展中,遇见的技术障碍和挑战:

美团即时货运构架

美团即时货运配送平台主要围绕三件事展开:一是面向用户提供履约的SLA,包括估算送达时间ETA、配送费定价等;二是在多目标(成本、效率、体验)优化的背景下,匹配最合适的骑手;三是提供骑手完整履约过程中的辅助决策,包括智能语音、路径推荐、到店提醒等。

在一系列服务背后,是美团强悍的技术体系的支持,并由此沉淀出的配送业务构架体系,基于构架建立的平台、算法、系统和服务。庞大的货运系统背后离不开分布式系统构架的支撑,并且这个构架更要保证高可用和高并发。

分布式构架,是相对于集中式构架而言的一种构架体系。分布式构架适用CAP理论(一致性,可用性,分区容忍性)。在分布式构架中,一个服务布署在多个对等节点中,节点之间通过网路进行通讯,多个节点共同组成服务集群来提供高可用、一致性的服务。

初期,美团根据业务领域界定成多个垂直服务构架;随着业务的发展,从可用性的角度考虑做了分层服务构架。后来,业务发展越发复杂,从运维、质量等多个角度审视后,逐渐演化到微服务构架。这儿主要依循了两个原则:不宜过早的步入到微服务构架的设计中,好的构架是演化下来的不是提早设计下来的。

分布式系统实践

外卖配送系统_配送外卖系统有哪些_配送外卖系统怎么样

上图是比较典型的美团技术体系下的分布式系统结构:依托了美团公共组件和服务,完成了分区扩容、容灾和监控的能力。后端流量会通过HLB来分发和负载均衡;在分区内,服务与服务会通过OCTO进行通讯,提供服务注册、自动发觉、负载均衡、容错、灰度发布等等服务。其实也可以通过消息队列进行通讯,比如Kafka、。在储存层使用Zebra来访问分布式数据库进行读写操作。借助CAT(美团开源的分布式监控系统)进行分布式业务及系统日志的采集、上报和监控。分布式缓存使用+的组合。分布式任务调度则是通过Crane。

在实践过程还要解决几个问题,比较典型的是集群的扩充性,有状态的集群可扩充性相对较差,难以快速扩容机器,难以减轻流量压力。同时,也会出现节点热点的问题,包括资源不均匀、CPU使用不均匀等等。

首先,配送后台技术团队通过构架升级,将有状态节点弄成无状态节点,通过并行估算的能力,让小的业务节点去分担估算压力,借以实现快速扩容。

第二是要解决一致性的问题,对于既要写DB也要写缓存的场景,业务写缓存难以保障数据一致性,美团内部主要通过来解决,是一个高可用、低延时、高并发、保证数据一致性的数据库变更实时传输系统。通过上游可以监控业务变更,通过管线将变更信息传递给ES和其他DB,或则是其他KV系统,借助的高可用特点来保证数据最终是可以同步到其他系统中。

第三是我们仍然在花精力解决的事情,就是保障集群高可用,主要从三个方面来入手,事前较多的是做全链路压测评,估峰值容量;周期性的集群健康性检测;随机故障演习(服务、机器、组件)。事中做异常报案(性能、业务指标、可用性);快速的故障定位(单机故障、集群故障、IDC故障、组件异常、服务异常);故障前后的系统变更搜集。事后重点做系统回滚;扩容、限流、熔断、降级;核装备兜底。

单IDC的快速布署&容灾

单IDC故障以后,入口服务做到故障辨识,手动流量切换;单IDC的快速扩容,数据提早同步,服务提早布署,Ready然后打开入口流量;要求所有做数据同步、流量分发的服务外卖配送系统,都具备手动故障监测、故障服务手动切除;根据IDC为单位扩缩容的能力。

多中心尝试

配送外卖系统怎么样_外卖配送系统_配送外卖系统有哪些

美团IDC以分区为单位,存在资源满排,分区未能扩容。美团的方案是多个IDC组成虚拟中心,以中心为分区的单位;服务无差异的布署在中心内;中心容量不够,直接降低新的IDC来扩容容量。

单元化尝试

相比多中心来说,单元化是进行分区容灾和扩容的更优方案。关于流量路由,美团主要是依据业务特性,采用区域或城市进行路由。数据同步上,异地会出现延后状况。SET容灾上要保证同本地或异地SET出现问题时,可以快速把SET切换到其他SET上来承当流量。

智能货运的核心技术能力和平台沉淀

机器学习平台,是一站式线下到线上的模型训练和算法应用平台。之所以建立这个平台,目的是要解决算法应用场景多,重复造轮子的矛盾问题,以及线上、线下数据质量不一致。假如流程不明晰不连贯,会出现迭代效率低,特点、模型的应用上线布署出现数据质量等障碍问题。

是一个以稳定性保障为目标的智能化业务运维AIOps平台。主要用于处理系统故障时报案源好多,会有大量的重复报案,有效信息很容易被吞没等各类问题。据悉,过往小规模分布式集群的运维故障主要靠人和经验来剖析和定位,效率低下,处理速率慢,每次故障处理得到的预期不稳定,在有效性和及时性方面未能保证。所以须要AIOps平台来解决那些问题。

未来的挑战

经过复盘和以后,我们发觉未来的挑战很大,微服务不再“微”了,业务复杂度提高以后,服务都会显得膨胀。其次,网状结构的服务集群,任何轻微的延后,都可能造成的网路放大效应。另外复杂的服务拓扑,怎么做到故障的快速定位和处理,这也是AIOps须要重点解决的困局。最后,就是单元化以后,从集群为单位的运维到以单元为单位的运维,也给美团业务布署能力带来很大的挑战。

作者简介

宋斌,美团资深技术专家,常年参与分布式系统构架、高并发系统稳定性保障相关工作。目前兼任即时货运团队后台技术负责人。2013年加入美团,参与过美团外卖C端、即时货运体系从零搭建。如今率领团队负责调度、清结算、LBS、定价等业务系统、算法数据平台、稳定性保障平台等技术平台的研制和运维。近来重点关注AIOps方向,探求在高并发、分布式系统构架下,怎样更好的做好系统稳定性保障。

==========

免责声明:部分文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们会尽快为您处理。

欢乐点

留言咨询

×