点击空白处退出提示
作品详情
付款后可以对司机进行评价,管理员管理司机与乘客,新司机入驻时对司机信息的审核,以及每月平台的
营业额进行一个统计。
乘客下单:乘客发起一个下单请求,该请求通过Nginx的反向代理转发到Gatway网关,Gatway从Nacos
注册中心获取订单微服务的地址信息, 订单微服务在生成订单号之前,去获取分布式锁一确保只有一个线
程能够执行生成订单号的操作,这个可以使用分布式锁库(Redisson、Zookeeper)来实现。订单号使用
一个时间戳、字符串和自增计数器来生成唯一的订单号。订单微服务将生成的订单号存储在Redis中去匹
配附近的空闲司机,如过附近没有空闲司机,则订单微服务就会等待一定的时间,再次尝试去匹配附近的
司机,知道匹配成功,之后订单微服务将订单的其他信息生成存到数据库中。
司机抢单: 订单微服务再生成订单信息后,会对该订单进行一个判断,判断该订单是否可以作为一个抢单
订单。如果该订单符合条件,就存在redis中的一个抢单池中,然后订单微服务去查询附近的空闲司机信 息,订微服务将符合条件得分空闲司机的ID存在Redis中,我这里呢是使用redis的List结构去存储的,
方便后续的抢单处理,同时订单微服务会将这些司机的状态修改为繁忙装的,防止普通订单派发到这些司
机这里司机进入一个等待抢单状态,如果某个司机抢单成功,reids就删除其他的司机信息并将这些司机的
状态改为空闲状态以便接收其他的订单。抢单成功的司机进行后面的订单执行流程。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论