分布式消息系统Jafka入门指南
2014-04-28 15:28
459 查看
分布式消息系统Jafka入门指南
作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs
一、JafkaMQ简介
JafkaMQ是一个分布式的发布/订阅消息系统,它是Apache Kafka的Java移植版。
2013年11月28日,JafkaMQ发布了1.2.3版。
JafkaMQ的特征如下:
1)消息持久化到磁盘的算法时间复杂度为O(1),即使是TB级的消息存储,也能保证常量时间的执行性能。
2)高吞吐量:即使是低配制的硬件条件,单个Broker也能支持每秒数十万的消息吞吐。
3)明确支持Broker服务器的消息分区
4)消息格式简单,支持多语言客户端
5)纯Java
6)分布式消息系统(生产者Producer/代理者Broker/消费者Consumer)
7)自动负载均衡
说明,Apache Kafka基于Scala语言,如果对Scala感兴趣,可以改用Kafka。
Jafka以及提交到Maven中央仓库,下载地址见:
http://repo1.maven.org/maven2/com/sohu/jafka/jafka/1.2.3/
最新的Jafka 1.2.3版仅有310KB。
https://github.com/adyliu/jafka
https://googledrive.com/host/0B4VObojKr49KeVNaTnc3bDlKNXM/
二、JafkaMQ的安装
1、下载JafkaMQ
https://googledrive.com/host/0B4VObojKr49KeVNaTnc3bDlKNXM/jafka-1.2.3.tgz
2、解压
3、运行Jafka
运行JafkaMQ很简单,执行命令:
注意:conf/server.properties是Jafka的配置文件。
或者执行命令:
4、测试Jafka
在Bash环境执行命令:
在另一个Bash环境下执行命令:
可见,消息的发送和接收都成功了。当然,接收到的中文消息在Bash下显示为乱码,不过没关系,我们随后解决。
作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs
一、JafkaMQ简介
JafkaMQ是一个分布式的发布/订阅消息系统,它是Apache Kafka的Java移植版。
2013年11月28日,JafkaMQ发布了1.2.3版。
JafkaMQ的特征如下:
1)消息持久化到磁盘的算法时间复杂度为O(1),即使是TB级的消息存储,也能保证常量时间的执行性能。
2)高吞吐量:即使是低配制的硬件条件,单个Broker也能支持每秒数十万的消息吞吐。
3)明确支持Broker服务器的消息分区
4)消息格式简单,支持多语言客户端
5)纯Java
6)分布式消息系统(生产者Producer/代理者Broker/消费者Consumer)
7)自动负载均衡
说明,Apache Kafka基于Scala语言,如果对Scala感兴趣,可以改用Kafka。
Jafka以及提交到Maven中央仓库,下载地址见:
http://repo1.maven.org/maven2/com/sohu/jafka/jafka/1.2.3/
最新的Jafka 1.2.3版仅有310KB。
https://github.com/adyliu/jafka
https://googledrive.com/host/0B4VObojKr49KeVNaTnc3bDlKNXM/
二、JafkaMQ的安装
1、下载JafkaMQ
https://googledrive.com/host/0B4VObojKr49KeVNaTnc3bDlKNXM/jafka-1.2.3.tgz
2、解压
$ tar zvxf jafka-1.2.3.tgz $ mv jafka-1.2.3 jafka $ cd jafka
3、运行Jafka
运行JafkaMQ很简单,执行命令:
$ bin/server.sh conf/server.properties 2014-04-28 07:14:07.527 INFO Server - Starting Jafka server 1.2.3 2014-04-28 07:14:08.210 INFO LogManager - starting log cleaner every 60000 ms 2014-04-28 07:14:08.231 INFO SocketServer - start 8 Processor threads 2014-04-28 07:14:08.383 INFO Acceptor - Awaiting connection on port 9092 2014-04-28 07:14:08.385 INFO LogManager - Starting log flusher every 1000 ms with the following overrides {} 2014-04-28 07:14:08.386 INFO Server - Server started. 2014-04-28 07:15:15.403 INFO Log - loadSegments files from [/home/chuser/jafka/data/demo-0]: 0 2014-04-28 07:15:15.431 INFO Log - Loading the last segment /home/chuser/jafka/data/demo-0/00000000000000000000.jafka in mutable mode, recovery false 2014-04-28 07:15:15.440 INFO LogManager - Created log for [demo-0], now create other logs if necessary
注意:conf/server.properties是Jafka的配置文件。
或者执行命令:
$ bin/run.sh console
4、测试Jafka
在Bash环境执行命令:
$ bin/producer-console.sh --broker-list 0:localhost:9092 --topic demo > Welcome to jafka > Hello world > 中文测试
在另一个Bash环境下执行命令:
$ .bin/simple-consumer-console.sh --topic demo --server jafka://localhost:9092 [1] 26: Welcome to jafka [2] 47: Hello world [3] 77: 锟斤拷锟侥诧拷锟斤拷
可见,消息的发送和接收都成功了。当然,接收到的中文消息在Bash下显示为乱码,不过没关系,我们随后解决。
相关文章推荐
- Timus 1642. 1D Maze迷宫
- csharp:Convert Image to Base64 String and Base64 String to Image
- 嵌入式 获取linux下的网卡的MAC地址
- Qt5.2+VS2010安装
- ubuntu下搭建svn系列参考资料
- 解释器模式(待完成)
- java实现动态切换上网IP (ADSL拨号上网) java 断网重连 (原)读取cmd消息 乱码解决
- 数据库设计范式
- iOS设计模式:静态工厂相关
- MAMP PRO 下安装 memcache
- C#:NumericUpDown控件(可调节类控件)
- 人格巫妖王
- 学习怎可一知半解
- 黑马程序员_学习笔记:7) 多线程、同步
- ios更改Xcode配置
- 使用json方式上传图片时,发现上传成功后,变成下载了json... 或者无法解析到返回的结果集!!!
- ProgressTimer
- android UI开源项目
- UBUNTU系统关闭开机输入用户密码的方法
- 使用NSHashTable存储引用对象