BT

达达CTO谈众包物流系统的复杂性

| 作者 龙永昕 发布于 2015年10月26日. 估计阅读时间: 不到一分钟 | 欲知区块链、VR、TensorFlow等潮流技术和框架,请锁定QCon北京站!

达达是一个聚焦最后三公里物流的众包平台,连接兼职配送员和有配送需求的商户,目前已拥有50万兼职配送员,服务超过15万家商户,日订单量达90万单的庞大体量。

InfoQ记者采访了达达CTO杨骏,一位来自硅谷的growth hacker、Facebook早期的华人工程师,与他探讨了众包物流平台。本文根据采访整理而成。

InfoQ:相对于其他业务,物流业务有哪些独特的地方?

杨骏:物流是一个很大的行业。这个行业中有很多细分,比如干线物流,同城物流,也有像我们专注的最后三公里物流。三公里并不是一个非常严格的数字,它指的是城市毛细血管的物流。从另外一个角度来看,伴随电商而兴起的传统物流往往是计划性的。即使淘宝、天猫、京东这样的电商平台上的配送速度越来越快,其订单还是计划性的。相比之下,达达配送的订单都是即时性的,是实时产生的外卖、水果、生鲜等商品的配送,而且往往要求在1个小时内完成。

因此,我们专注的物流业务具有很强的区域性和即时性。这样的物流需求随着各类O2O电商而爆炸性增长,但又无法被传统物流满足。我们用了众包的模式很好地解决了这个问题,在很短的时间内实现了业务的飞速发展。

InfoQ:这些独特的地方肯定有一些技术进行支撑的,业务的快速发展给技术带来一些什么样的挑战呢?

杨骏:首先我们是完全搭建在移动互联网上的。我们的模式跟滴滴很类似,商家通过App发出配送需求,配送员通过APP可以看到附近商家的需求,通过抢单的模式来匹配这个需求并完成配送。这一切都通过移动互联网来完成。

我们面临的挑战会有以下两方面:一方面是面对快速增长的业务,如何确保系统的稳定性和可用性。面对海量业务的增长,我们在后台架构上做了很多的升级改进,以和时间赛跑的速度去Hold住单量的飞速增长,这块是很大的挑战。另外一方面是效率的挑战,简单来说就是如何让配送员每小时完成更多的配送订单。我们的技术团队做了大量的合并订单(把取货地和目的地接近的单子合并在一起,由一个配送员来完成),订单的推荐和指派,路径规划等方面的工作,使配送的效率随着规模得以提高。

对于这两方面的挑战,首先保证的是稳定性,因为效率是节省和浪费的问题,但是稳定性是关系到是否可用的问题。当规模迅速发展的时候,我们首先用稳定性扛住规模,而规模又提供了效率上的优化空间,使我们建立起规模和效率的双重壁垒。

InfoQ:达达在构建技术架构方面有哪些探索?

杨骏:面对上述所说的挑战。首先是研发团队的构建,在面对挑战的时候,找到合适的人比选择某项技术更显得重要。

其次我们做了很多数据库架构方面的优化,包括数据库的主从分离,读写分离,垂直分库,以及正在进行中的水平分库(sharding)等。简单的说,就是当一台数据库无法支持巨大的访问量时,我们把数据库中不同的表,甚至是同一表中的不同数据,拆分到不同的逻辑数据库中,实现了数据的分布式读写。这也为后续的业务发展提供了可扩展性。

我们也对上层的调用代码做了很多修改,并且做了服务的隔离,以保证核心业务和不核心的业务完全隔离开,这样不核心业务出现的问题不会影响到核心业务。

还有就是缓存的服务。面对这么高的访问量,我们基于Redis搭建了缓存系统,把大部分原先通过数据库的访问都用缓存来解决,以减轻数据库的压力。

我们现在已着手建设灾备机房,以保证有任何不可抗拒因素出现时我们的服务还能够可用。

InfoQ:从达达的角度来说,移动技术带来的最大不同是什么?

杨骏:移动技术使达达的商业模式成为可能。正因为有了移动互联网,我们才能用众包的模式去解决最后三公里配送,来匹配数以十万计的配送员和他们身边不断涌现的即时性的配送需求。这一点和滴滴和Uber都是相似的。

InfoQ:从达达官网提供的信息我们可以知道,达达的业务已经分布在非常广的区域。请问达达是怎么做服务的本地化的?

杨骏:从两个方面看这件事情。首先,我们的模式具有非常强的复制性的。互联网公司飞速发展的一个关键能力是低成本的扩张,就是说你能用非常低的代价非常快地复制自己。达达的商业模式和产品都能被迅速复制到一个新的城市,也就是说我们的可复制性很好。

其次每个城市在经济、互联网普及程度都不一样。我们在后台有一套很好的运营系统,可以对包括定价、配送时效等各种运营参数按城市级别进行配置,符合对每个城市的特点。具体实施时我们会和每个城市的的团队沟通,明确所在城市特殊的地方,同时快速在系统中做出修改和配置。我们把整个运营中所有的参数都做成了工具,很容易的由一个非工程师做配置,而不需要一个工程师做配置。

InfoQ:我们知道服务的可用性对于达达的业务来说是非常重要的,在技术方面达达是如何保证服务的“全天候”可用?

杨骏:首先是我们在数据库架构上做了非常多的优化,上面已经提及了。除此之外我们还做了服务的可降级化,也就是说在服务压力非常大的时候,我们能够牺牲掉一些不是核心的服务,保证核心业务的可用性。另外,我们还大量使用缓存,尽可能的让重复读写操作在缓存中被消耗掉,而不影响数据库。

除了上述两方面,我们还会通过一定的激励政策使团队中的每一个成员都去关注后台的稳定性。

InfoQ:刚才你说你们的主要业务都是基于云的,那开放平台会带来哪些不同?

杨骏:为了满足不同规模的商户,我们很早就创建了开放式平台(OpenAPI)。通过这个平台,各类O2O电商可以很方便的实现和达达的系统对接,通过系统发出配送的需求,并完成订单跟踪、反馈、结帐等一系列动作。OpenAPI让我们把线下的配送服务变成了线上的一系列标准化的API。对于一些比较大的O2O电商,我们还会做很多定制服务,比如通过出仓扫码可以把出仓的动作直接反馈到我们平台上去,使双方的效率都得到了很大的提高。

InfoQ:您对12月份开幕的ArchSummit北京2015有什么寄语?

杨骏:一直在关注这个大会,大会为技术人员提供了一个很好的学习交流的平台。如果时间允许的话,我希望有时间去大会向国内的很多同行学习,也做一个交流。我之前一直在美国工作,我觉得在美国这十多年看到的情况是中国和美国的差距在迅速被缩小,甚至在某些领域已经出现了反超的情况。在商业模式上,其实中国有非常多创新的地方,同时在技术上我觉得两边的距离已经很接近,或者说几乎不可分辨了。我以前在美国也待过不少创业公司,他们的技术架构,和我今天在达达以及我所知道的中国其他这些公司的架构上没有什么区别,大家用的都是非常先进的技术,每次有新技术出现时都会很快的去采用。甚至中国在某些领域上,对于新技术的采用其实走在了美国一些公司的前面,因为中国新的公司非常多。其实我是很希望去那儿跟同行有一个很好的交流,也学习一下国内的很多经验。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论
BT