分布式消息系统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)消息格式简单,支持多语言client
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非常easy。运行命令:
$ 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下显示为乱码,只是没关系,我们随后解决。
分布式消息系统Jafka入门指南的更多相关文章
- 分布式消息系统Jafka入门指南之二
分布式消息系统Jafka入门指南之二 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 三.Jafka的文件夹结构 1.安装tree命令 $ sudo yu ...
- 分布式消息系统jafka快速起步(转)
Jafka 是一个开源的/性能良好的分布式消息系统.在上一篇文章中有所简单介绍.下面是一篇简单的入门文档.更多详细的文档参考wiki. Step 1: 下载最新的安装包 完整的安装指南在这里.最新的发 ...
- 分布式消息系统Kafka初步
终于可以写kafka的文章了,Mina的相关文章我已经做了索引,在我的博客中置顶了,大家可以方便的找到.从这一篇开始分布式消息系统的入门. 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到 ...
- 分布式消息系统Kafka初步(一) (赞)
终于可以写kafka的文章了,Mina的相关文章我已经做了索引,在我的博客中置顶了,大家可以方便的找到.从这一篇开始分布式消息系统的入门. 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到 ...
- [Apache Pulsar] 企业级分布式消息系统-Pulsar快速上手
Pulsar快速上手 前言 如果你还不了解Pulsar消息系统,可以先看上一篇文章 企业级分布式消息系统-Pulsar入门基础 Pulsar客户端支持多个语言,包括Java,Go,Pytho和C++, ...
- Kafka——分布式消息系统
Kafka——分布式消息系统 架构 Apache Kafka是2010年12月份开源的项目,采用scala语言编写,使用了多种效率优化机制,整体架构比较新颖(push/pull),更适合异构集群. 设 ...
- KAFKA分布式消息系统[转]
KAFKA分布式消息系统 转自:http://blog.chinaunix.net/uid-20196318-id-2420884.html Kafka[1]是linkedin用于日志处理的分布式消 ...
- 分布式消息系统kafka
kafka:一个分布式消息系统 1.背景 最近因为工作需要,调研了追求高吞吐的轻量级消息系统Kafka,打算替换掉线上运行的ActiveMQ,主要是因为明年的预算日流量有十亿,而ActiveMQ的分布 ...
- 一种开源的分布式消息系统Nats
一种开源的分布式消息系统Nats 作者:chszs.未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 1.NATS介绍 NATS是一个开源的 ...
随机推荐
- Bzoj1015/洛谷P1197 [JSOI2008]星球大战(并查集)
题面 Bzoj 洛谷 题解 考虑离线做法,逆序处理,一个一个星球的加入.用并查集维护一下连通性就好了. 具体来说,先将被消灭的星球储存下来,先将没有被消灭的星球用并查集并在一起,这样做可以路径压缩,然 ...
- 【转】【python】装饰器的原理
写在前面: 在开发OpenStack过程中,经常可以看到代码中的各种注解,自己也去查阅了资料,了解了这是python中的装饰器,因为弱类型的语言可以将函数当成返回值返回,这就是装饰器的原理. 虽然说知 ...
- HTTP Slow Attack测试工具SlowHTTPTest
HTTP Slow Attack测试工具SlowHTTPTest Slow Attack是HTTP常见的一种拒绝服务攻击方式.它通过消耗服务器的系统资源和连接数,导致Web服务器无法正常工作.常见 ...
- 【BZOJ 4025】 (CDQ?还是整体二分?+并查集及它的恢复操作)
4025: 二分图 Description 神犇有一个n个节点的图.因为神犇是神犇,所以在T时间内一些边会出现后消失.神犇要求出每一时间段内这个图是否是二分图.这么简单的问题神犇当然会做了,于是他想考 ...
- 【BZOJ 1049】 1049: [HAOI2006]数字序列 (LIS+动态规划)
1049: [HAOI2006]数字序列 Description 现在我们有一个长度为n的整数序列A.但是它太不好看了,于是我们希望把它变成一个单调严格上升的序列.但是不希望改变过多的数,也不希望改变 ...
- [Arc080F]Prime Flip
[Arc080F]Prime Flip Description 你有无限多的"给给全",编号为1,2,3,....开始时,第x1,x2,...,xN个"给给全" ...
- GIL,queue,进程池与线程池
GIL 1.什么是GIL(这是Cpython解释器) GIL本质就是一把互斥锁,既然是互斥锁,原理都是一样的,都是让多个并发线程同一时间只能有一个执行 即:有了GIL的存在,同一进程内的多个线程同一时 ...
- 你一定喜欢看的 Webpack 2.× 入门实战(转载)
最近在学习 Webpack,网上大多数入门教程都是基于 Webpack 1.x 版本的,我学习 Webpack 的时候是看了 zhangwang 的 <<入门 Webpack,看这篇就够了 ...
- Promise小结
Promise是异步里面的一种解决方案,解决了回调嵌套的问题,es6将其进行了语言标准,同意了用法,提供了`promise`对象, promise对象有三种状态:pending(进行中) .Resol ...
- MySql_安装及简单命令
一.下载MySql http://dev.mysql.com/downloads/file/?id=461390 版本位5.7.11.0.msi,32位的,但是该版本在64位机器上也可以使用 二.安装 ...