便利蜂门店网络与 Rust 落地实践
发布网友
发布时间:2024-10-06 08:07
我来回答
共1个回答
热心网友
时间:2024-10-25 05:51
便利蜂是一家科技创新零售企业,专注于以科技驱动运营,以“品质生活 便利中国”为使命,致力于为消费者提供健康、安心的产品与高效、便捷、满意的服务。目前,其门店网络已覆盖全国,开业门店数量超过2000家。
便利蜂门店内的设备大多实现智能化,依赖网络的设备种类繁多,覆盖从订单支付到店内运营的各个环节。店内事务背后支撑着复杂的算法,涉及订货、陈列、盘点、废弃、热餐制作、实时变价、自助咖啡、订单结算等。网络稳定对于门店运营至关重要。
便利蜂门店网络架构设计考虑了稳定性和成本平衡。互联网出口采用主线4G作为兜底,算法控制主线恶化程度后决定是否启用4G网络,以确保网络的可靠性。成本方面,便利店注重规模效应,设备成本、互联网接入成本和运维人力成本是主要考虑因素。设备成本在后续章节中提及,互联网接入通常使用最低廉的宽带作为主线接入。
面对“高质量的一人管千店”的需求,便利蜂面临的关键难题之一在于网关。网关负责线路逃生决策,集成了智能检测、信息采集等任务,将信息汇聚至中心,实时分析全国门店网络情况。网关是整个管理系统的眼睛和手,总部系统则扮演大脑的角色。
硬件选型需满足特定条件,便利蜂采用多系统并存策略。在硬件和系统选型中,Rust 成为首选语言。考虑到嵌入式环境和成熟度,Rust 的高质量交付优势显著。嵌入式硬件包括两种ARM和一种MIPS,最低配置为MT7621 CPU,具备880MHz MIPS CPU、512M内存(可用400M)、370M Flash的特性。
在选择语言时,Rust、Golang、C、Lua、Shell等被分析。Rust的性能、安全性和高质量交付成为最终选择。网络质量定义通过Http检测或ICMP检测,根据丢包率、延迟等指标进行评估。网络质量分为A、B、C、D四个等级,从无影响到严重影响门店业务。
线路逃生策略包括设置4G路由器作为备用网络,在主线中断时切换使用。店内实时采集监控数据并实时监控全局状态,单店出现问题时会触发工单,网络组介入处理。理想情况下,主线质量始终优于备线,但实际操作中面临主线故障频繁切换、网络中断等问题,需要通过指数退避策略减少切换次数,避免全店网络中断。
在POC阶段,针对并发库和网络检测需求,选择了tokio作为异步运行时。对Ping检测进行了自定义实现,以满足多设备兼容需求。网关Agent部署在每个门店,实时监控网络质量,快速发现故障以减少门店损失。
便利蜂门店网络已全面采用Rust技术,稳定性高达99.9999%,每半个月进行一次迭代。在实践过程中,团队对开源社区进行了贡献。团队成员包括刘同学和裴同学,目前正寻找更多优秀人才加入。
欲了解更多详情,请访问招聘官网:<a href="bianlifeng.gllue.me/por...