技术挑战算法
美团配送系统的本质——机器与海量骑手协做,服务于全国用户和商家的大规模协做系统。技术的挑战本质上源于业务的痛点,具体体现为线上的强履约能力要求与线下的强运营能力要求。技术上的挑战也一样来源于线上和线下两个方面:架构
1. 线上履约的SLA要求更高。配送业务须要兼顾用户、商家、骑手三端利益,任何一次宕机的影响均可能是灾难性的。若是体验很差,用户会说,为何我付了钱,却还饿肚子?商家会说,这是由于出了餐没人取;可是对骑手来讲,会以为本身付出了时间与劳动,却没有得到足够的收益。框架
2. 线下的业务复杂性更高。多条业务线管理模式不一样,对于如何兼顾系统在共性和差别化上有很大挑战。资源
系统架构演进产品
美团配送系统架构的演进过程能够分为三个阶段:系统架构
MVP阶段:业务模式探索,快速试错,如何具有快速迭代能力。效率
规模化阶段:业务成指数级增加,如何既保证业务发展,又解决系统可用性、扩展性、研发效率等问题。基础
精细化阶段:业务模式逐步成熟,运营逐步精细化,如何经过产品技术创新驱动业务发展。扩展
MVP阶段配置
试错阶段,须要快速探索业务模式究竟是不是一个方向,这个阶段不要指望不少事情都想得很清楚,用户和市场会快速反馈结果。因此,对于技术团队而言,这个阶段最主要的能力是快。抢夺市场,惟快不破。
规模化阶段
进入这个阶段,业务和产品已经获得了市场的初步验证,的确找到了正确的方向。同时,业务发展增速也对研发团队的能力提出了更高的要求,由于这个阶段会有大量紧急且重要的事情涌现,且系统可用性、扩展性方面的问题会逐步凸显,若是处理不当,就会致使系统故障频发、研发效率低下等问题,使研发疲于奔命。
这个阶段从架构层面咱们重点在思考三个方面的问题:
总体架构应该如何演化?履约系统与运营系统的边界在哪里?
履约系统的可用性如何保证?系统容量如何规划?
运营系统如何解决业务的真正痛点?如何在大量“琐碎需求”下提高研发效率?
解决以上问题的总体思路为化繁为简(理清逻辑关系)、分而治之(专业的人作专业的事)、逐步演进(考虑ROI)。
精细化阶段
业务发展不断成熟以后,业务的各种运营管理动做会趋于精细化。这个阶段,业务对于产品技术有更高要求,指望经过产品技术创新不断打造技术壁垒,保持领先优点。配送的业务特色自然对AI应用有很强的需求,大到供给调整,小到资源配置,都是AI发挥效力的主战场。对于工程层面,须要持续思考的问题是如何更好地实现AI的业务应用。为此咱们重点提高了几方面的能力:
下降试错成本:构建仿真平台,打造算法的“沙箱环境”,在线下环境快速评估算法效果。
提高算法特征迭代效率:构建特征平台,统一算法策略迭代框架与特征数据生产框架,提高特征数据质量。
提高导航数据质量:持续深耕LBS平台,提高基础数据质量,提供位置、导航、空间的应用能力。