派单调度

派单调度的整体交互

1.使用Canal+MQ将服务提供者信息同步到ES中

2.将派单池同步到redis。

3.通过定时任务定时派单,从redis派单池查询多个订单,使用线程池对这些订单进行派单,每个线程负责一个订单

4.派单过程中,先根据订单信息从ES中找到符合地理位置和服务项目等条件的服务提供者

5.若是找到多个服务提供者,则根据责任链模式对服务提供者进行规则匹配,最终找到一个最符合要求的提供者

6.系统调用抢单接口进行机器抢单,最终将服务提供者与订单撮合匹配成功。

责任链模式

它适用于处理逻辑可以划分成多个独立处理器,并且这些处理器之间存在某种顺序关系成一条链,依次执行链中的处理器,最终拿到处理结果。

使用责任链模式步骤:

1.定义责任接口或抽象类

2.定义处理器类

3.将多个处理器组成一个链

4.客户端通过链中第一个处理器开始执行

开发中注意:

1.确保每个处理器的逻辑清晰

2.避免形成无限循环

3.动态修改责任链

4.适时终止责任链

posted @ 2025-04-17 08:45  挨踢男1115  阅读(52)  评论(0)    收藏  举报