CloudQues构建灵活度以适应各种消息需求本条解释一些常见模式及其可能的变异
###任务分布
任务分布模式中客户使用云队类远如亚马孙简单队列服务来喂养工人池如下:
制片人将消息推入队列
工人请求消息
工人处理消息
工人删除消息
过程的每一步可产生下列变式:
网际网际网际网路步骤1-变异1:网际网际网际网路一个或多个制片人将数条消息推入队列工人们可同时要求批量消息或单文消息
网际网际网际网路步骤2-变异1:网际网际网际网路工人在消息过期前不主张消息制作者应调整使用更高的TTL值消息或工人应更频繁地调查
网际网际网际网路步骤2-变异2网际网际网际网路无消息要求,因为所有消息都由这个或其它工人消化工人继续定期发短信请求,直到有新消息可用省长进程或可选择自动计算工人池负载量(可使用Get请求检索队列统计或监听单个工人闲置)
网际网际网际网路步骤3-变异网际网际网际网路工人声明消息后撞车处理前消息上的权利主张最终过期后,消息将再次提供,供另一名工人索取。
网际网际网际网路步骤4-变异网际网际网际网路处理消息后工人崩溃,但在删除消息前下一工人请求消息检验消息处理前是否已经处理在有些情况下,双处理消息可能是可以接受的,在这种情况下无需检查。
###Pub子集
Pub-Sub表示发布器用户,意指通知一个或多个客户或订户事件如下:
发布程序推送消息X到队列
用户列表消息队列并接收消息X
订阅者B列消息队列获取消息X
用户A和B个人处理消息X
步骤2进程可有下列变式:
网际网际网际网路步骤2-变异1:网际网际网际网路订阅者上轮中已列消息订阅者提交一个“下一步”标记向服务器说明它已经看到什么消息,使服务器只向订阅者发新消息
网际网际网际网路步骤2-变异2网际网际网际网路订阅者不在消息X过期前列消息制作者发布消息时应调整使用更高TTL值,用户应更频繁地或同时调查
网际网际网际网路步骤2-变异3网际网际网际网路所有消息都列出订阅者得到空响应,并使用队列最后已知标记定期列表消息,直到它得到非空响应
网际网际网际网路步骤2-变异4网际网际网际网路用户获取消息X前崩溃进程监视器将简单重新启动订阅者,只要用户能够在出版商设定的TTL周期内投票,用户就能接收消息X
###点对点
以这种模式,每个代理自取队列queue资源极轻云队, 用户可以创建数以万计无问题
注意双向通信只需要单队列
控制器将消息推入队列
代理列表消息队列获取消息
代理执行请求动作
代理向队列推送结果消息
控制器列表消息队列并接收结果消息
几步进程可产生下列变式:
网际网际网际网路步骤2-变异1:网际网际网际网路代理可以请求消息, 但它慢于简单列表消息, 并声明不必要 当只有一个客户从队列读取时
网际网际网际网路步骤2-变异2网际网际网际网路代理获取消息前崩溃代理程序重开后,它仍然可以得到消息,如果它能在控制器设置的TTL周期内重开消息。
网际网际网际网路步骤4-变异1:网际网际网际网路代理崩溃后发布结果消息控制器应有一个超时段,此后它不再期望请求响应
网际网际网际网路步骤4-变异2网际网际网际网路如果没有结果期望,则跳过此步和下一步
###审核
用户在审计中增加旁观者并持续在队列内录入消息旁观者可以是CLI类脚本或被动服务器记录一切
审核帮助诊断消息制作者的问题或错误还可以确保消息处理正确化,例如用户使用云队作为计量解决方案的一部分,并想审核记录以确保可收费事件都正确提交计费系统
然而,为使审核工作真正有效,尚需具备延迟消息提交一段时间的能力。特征会让审计师有机会在工人删除消息前列行消息工人们可以先声明消息删除后暂停数秒,