一个任务发布系统,发包方发布任务并指定有条件的用户来接单,符合特定条件的用户来参与任务。
场景:
某客户发布了 10 个任务,设置每个任务最多 5 个人参与(也就是每个任务最多有 5 个人在其接单列中显示),在高并发情况下,会存在用户抢任务情况。
假设某一时刻内系统有一万个任务发出,同时某一时刻有十万用户访问了自己的接单列表,怎样高效地确保系统能够按任务设定的额度去分配给用户。
涉及到 model 大致如下:
Task
id name amont
TaskRule
id task_id rule_value rule_name
User
id name sex level
UserTask
user_id task_id
想请教下大家怎样去合理高效地设计任务分配。