立项背景和目标
当前本地生活服务中,外卖配送与跑腿代购需求激增,但中小商户自建配送成本高、第三方平台抽成重。本项目旨在打造一套轻量级、高可用的外卖跑腿撮合平台,通过小程序/H5双端触达用户,帮助商家零门槛接入配送网络,同时为跑腿员提供智能接单工具,实现订单高效流转与成本透明化。
软件功能、核心功能模块介绍
系统采用Spring Cloud微服务架构,核心模块包括:用户服务(注册登录、积分会员)、商家服务(店铺管理、商品上架)、订单服务(下单、抢单、状态追踪)、配送服务(骑手定位、路径规划)、支付结算(微信/余额支付、分账)。借助Redis缓存高频数据、RabbitMQ处理订单状态异步消息,保障秒级响应与数据一致性。
业务流程、功能路径描述
用户通过小程序/H5浏览附近商家并下单,支付成功后订单进入RabbitMQ队列,系统基于骑手位置和负载智能推送抢单通知。骑手接单后,用户端实时更新配送轨迹,送达后双方互评。商家后台可查看营收统计、配送热力图,平台通过定时任务完成日结清分,形成“下单→接单→配送→结算”的完整闭环
本项目采用Spring Cloud Alibaba微服务架构,按业务域拆分为用户中心、商家中心、订单中心、配送中心、支付中心及消息中心六个独立服务,服务间通过OpenFeign进行远程调用,Nacos作为注册中心与配置中心统一管理。网关层使用Spring Cloud Gateway进行路由转发和鉴权过滤,JWT令牌携带用户身份在各服务间透传。
数据持久化使用MySQL 8.0,按业务垂直分库,订单表按日期水平分表,配合MyBatis-Plus实现灵活查询。Redis缓存热点数据(如商家菜单、骑手位置、Token),采用Redis Cluster集群保证高可用,并利用分布式锁解决抢单并发冲突。RabbitMQ承担异步解耦核心任务:订单支付成功后发送“新订单”消息,配送服务消费后智能推送给附近骑手;配送状态变更消息反向通知订单服务更新状态,最终保证最终一致性。
骑手轨迹上报通过WebSocket长连接实现实时推送,用户端H5/小程序基于高德地图SDK展示动态路径。支付模块对接微信支付V3,回调通知通过RabbitMQ可靠处理。定时任务使用XXL-JOB调度,完成每日对账、超时订单自动取消等。部署上采用Docker容器化,配合Jenkins持续集成,整套系统在预估1000并发下单场景下,接口响应时间可控制在200ms以内。