基于springboot+vue开发 乘客在App发起打车后,系统自动分配司机前往,将乘客送达目的地,乘客
付款后可以对司机进行评价,管理员管理司机与乘客,新司机入驻时对司机信息的审核,以及每月平台的
营业额进行一个统计。
乘客下单:乘客发起一个下单请求,该请求通过Nginx的反向代理转发到Gatway网关,Gatway从Nacos
注册中心获取订单微服务的地址信息, 订单微服务在生成订单号之前,去获取分布式锁一确保只有一个线
程能够执行生成订单号的操作,这个可以使用分布式锁库(Redisson、Zookeeper)来实现。订单号使用
一个时间戳、字符串和自增计数器来生成唯一的订单号。订单微服务将生成的订单号存储在Redis中去匹
配附近的空闲司机,如过附近没有空闲司机,则订单微服务就会等待一定的时间,再次尝试去匹配附近的
司机,知道匹配成功,之后订单微服务将订单的其他信息生成存到数据库中。
司机抢单: 订单微服务再生成订单信息后,会对该订单进行一个判断,判断该订单是否可以作为一个抢单
订单。如果该订单符合条件,就存在redis中的一个抢单池中,然后订单微服务去查询附近的空闲司机