ThreadPoolExecutor + RabbitMQ
来源:互联网 发布:多线程数据共享 编辑:程序博客网 时间:2024/04/29 18:44
对于一个基于消息驱动的应用,线程池和消息队列总是少不了的。线程池ThreadPoolExecutor是Java自带的,利用线程池来生产/消费消息。消息队列有很多选择,这里先尝试一下RabbitMQ
1,安装RabbitMQ服务
yum install erlang
yum install rabbitmq-server
因为RabbitMQ是Erlang开发的,故安装过程将安装一些Erlang环境
2,配置RabbitMQ服务
一般RabbitMQ的默认配置即可工作,如需个性化设置可以参考http://www.rabbitmq.com/configure.html
RabbitMQ默认服务端口为5672,需要在防火墙中将此端口开放,以免其他机器上的client无法访问
3,RabbitMQ服务
service rabbitmq-server start
service rabbitmq-server stop
RabbitMQ服务的管理可以参考 http://www.rabbitmq.com/admin-guide.html
4,下载RabbitMQ的Java client包
http://www.rabbitmq.com/java-client.html
5,编写测试程序
略......
6,测试结果
Consumers和Products分别跑在同一WLAN网络中不同机器上,利用线程池起了4对Consumer/Product,每对Consumer共产生/消费100W条消息(消息长度约56字节)
通过400W条消息来测试一下RabbitMQ的稳定性和性能
Product0 cost : 981.517
Product1 cost : 993.353
Product3 cost : 1008.149
Product2 cost : 1010.612
RabbitMQ真的蛮简单,I like it!
- ThreadPoolExecutor + RabbitMQ
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- ThreadPoolExecutor
- servlet/jsp/javabean学习笔记
- 不伤眼睛的电脑背景颜色
- C#复制文件夹,删除文件夹的方法
- 如何让java生成复杂的Word文档
- Automation服务器不能创建对象
- ThreadPoolExecutor + RabbitMQ
- C# static修饰变量
- COM中的字符串
- FileInputStream/FileOutputStream的应用
- C# 多线程
- C#中的"序列化" Serializable 理解
- (1)基础
- 编写一个提交、显示的jsp页面
- 浅谈AutoResetEvent的用法