jobs
基于swoole的分布式任务调度
分布式任务调度swoole
本项目为邮件发布平台的服务器中间件,采用swoole框架完成流程管理、任务异步执行、服务器通信。 在web项目中,狭窄的客户无法在短时间内完成操作,或者用户创建一个定时的任务。 如果多个用户创建了更多的任务,则需要扩展多台机器来处理任务。 例如,联系人csv导入数据库,收集各处数据,生成报告,推送邮件等操作。 该项目分为两部分,master和slaver master角色负责监控任务队列,发现需要处理的任务,发送到对应的salver slaver是一台任务处理机,负责复制处理不同类型的任务可以启动主by进行备份,如果主by停止,则主by过度成为新的主,解决单点,向slaver通知新的主信息,slaver 的节点,因为可以在一台服务器上部署多个slaver,并监听不同端口的matser slaver master-standby之间的保持通信
事例matser是a机器上的9090端口主by监听b机器上的9091端口
将slaver-import配置到c机器监听9091端口可配置处理过程将400个类似的400个通道slaver-import配置到e机器监听9092端
端口可配置处理流程为400类似400通道slaver-send配置在c机上9092端口可配置处理流程为400类似400路径
通道slaver-send在e-machinelistener9092端口上的可配置处理过程类似于400个400通道
400个通道表示400个任务可以同时执行
这样构成了分布的任务处理系统。 当然,因为很简陋,所以请不要喷