Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7171262
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: 架构设计与优化

2014-04-29 22:51:27

分布式消息系统Jafka入门指南

一、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中央仓库,下载地址见:


最新的Jafka 1.2.3版仅有310KB。




二、JafkaMQ的安装

1、下载JafkaMQ



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下显示为乱码,不过没关系,我们随后解决。
阅读(940) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~