派单调度
派单调度的整体交互
1.使用Canal+MQ将服务提供者信息同步到ES中
2.将派单池同步到redis。
3.通过定时任务定时派单,从redis派单池查询多个订单,使用线程池对这些订单进行派单,每个线程负责一个订单
4.派单过程中,先根据订单信息从ES中找到符合地理位置和服务项目等条件的服务提供者
5.若是找到多个服务提供者,则根据责任链模式对服务提供者进行规则匹配,最终找到一个最符合要求的提供者
6.系统调用抢单接口进行机器抢单,最终将服务提供者与订单撮合匹配成功。
责任链模式
它适用于处理逻辑可以划分成多个独立处理器,并且这些处理器之间存在某种顺序关系成一条链,依次执行链中的处理器,最终拿到处理结果。
使用责任链模式步骤:
1.定义责任接口或抽象类
2.定义处理器类
3.将多个处理器组成一个链
4.客户端通过链中第一个处理器开始执行
开发中注意:
1.确保每个处理器的逻辑清晰
2.避免形成无限循环
3.动态修改责任链
4.适时终止责任链

浙公网安备 33010602011771号