Rabbit 进阶之自动任务分配
来源:互联网 发布:ug编程教学视频下载 编辑:程序博客网 时间:2024/05/21 14:07
消息队列的使用场景 很大一部分是要进行耗时处理,所以 Rabbit 优势就会很明显,在我的上一篇博客中使用发布/订阅的订阅模式来接收消息时,
可以直接启动多个实例. 我将发送消息稍加修改(快速发送1000个消息),代码如下
发送多个消息
static void Main(string[] args) { var factory = new ConnectionFactory(); factory.UserName = "guest"; factory.Password = "guest"; factory.VirtualHost = "/"; factory.HostName = "127.0.0.1"; var conn = factory.CreateConnection(); var channel = conn.CreateModel(); channel.ExchangeDeclare("exchange", ExchangeType.Direct); channel.QueueDeclare("myRabbit", false, false, false, null); channel.QueueBind("myRabbit", "exchange", "123", null); for (int i = 0; i < 1000; i++) { byte[] messageBodyBytes = Encoding.UTF8.GetBytes("msg"+i); channel.BasicPublish("exchange", "123", null, messageBodyBytes); } }
继续使用原来的接收程序, 但是 我打开了3个应用程序同事等待消息发送, 然后 启动发送程序
结果, 3个程序都会收到1000个消息吗? No No No 是三个程序一起处理了这1000个消息.
运行结果
官网称这个为工作队列(work queue) 这样 ,在消息处理端耗时较大时,可以开启更多的 处理程序来应对,支持分布式,
0 0
- Rabbit 进阶之自动任务分配
- 项目管理之任务分配
- poj 1973 分配任务 进阶动态规划 <难题>
- jBPM4.4之(Task)任务分配
- Activiti工作流之用户任务分配
- GCD之任务分发函数进阶
- 多线程进阶004 之 任务取消(一)
- 多线程进阶005 之 任务取消(二)
- 任务分配
- 任务分配
- 任务分配
- task活动讲解之任务分配,候选,自定义任务分配处理器
- [土狗之路]coursera C语言进阶 习题 分配病房
- Java进阶之 如何自动生成代码
- Unity学习之自动寻径进阶
- Java进阶之 如何自动生成代码
- Activiti进阶(十)——分配个人任务的三种方式
- Activiti进阶(十一)——分配组任务的三种方式
- nyoj860又见01背包
- JSON.parse()和JSON.stringify()
- hdu5442Favorite Donut(好题)
- test5.14
- LIVE555研究之二: RTSP、RTP/RTCP协议介绍
- Rabbit 进阶之自动任务分配
- hdu 1429 bfs 状态压缩
- 移动端Web解决方案
- 将inputstream转化为数组byte[]
- 反编译apk
- IOS7使用原生API进行二维码和条形码的扫描
- 49.linux常用命令(49):ftp 命令
- Set Matrix Zeroes
- freemarker 数字输出中的逗号问题