关于消息队列速率的解决方案-创新互联
消息队列在执行过程中, 如何统计消息队列执行一轮的时间以及效率呢? 如果消息队列中的任务变多, 则需要对应增加消费进程, 保证队列不被堆积。
创新互联公司是一家专业提供禅城企业网站建设,专注与成都网站设计、网站建设、H5网站设计、小程序制作等业务。10年已为禅城众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。一、一般消息队列生产和消费类型
1. 一次性任务消费
从某个地方一次性写入多个任务到队列, 消费完成后就算完成
2. 不断写入的任务消费
一般是判断队列任务少了, 就开始写入任务, 队列任务足够则不写入任务。对应的消费进程也是持久性进程。
3. 有任务则写入, 然后持续消费
随时可能有任务产生, 之后不断消费。任务写入时间不可控, 所以消费进程一般也得是持久性进程。
二、如何计算出来消费一轮的时间以及消费速率
1. 通过统计任务开始和结束, 计算消费总时间
当时最早想到的就是这种方式, 这种方式的优点:
- 统计相对准确
缺点:
- 流程复杂且耦合性高
- 如果中间有队列暂停之类的时间, 也会被包含进时间内。
2. 通过读取队列状态, 获取到一定时间内消耗数量
根据两次读取的任务数, 得到固定时间内的消耗掉的任务数, 计算出来执行的任务。
3. 通过计算单个任务的执行时间, 然后根据运行的进程数, 来计算一轮的时间。
之后根据运行进程数, 以及任务总数, 来获取到一轮的更新时间。 或者一段时间内取样, 来计算需要的机器和进程数。
如果有其他更好的办法, 希望可以一起交流下。
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
网页名称:关于消息队列速率的解决方案-创新互联
浏览地址:http://ybzwz.com/article/ccidjg.html