分布式消息系统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入门指南的更多相关文章

  1. 分布式消息系统Jafka入门指南之二

    分布式消息系统Jafka入门指南之二 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 三.Jafka的文件夹结构 1.安装tree命令 $ sudo yu ...

  2. 分布式消息系统jafka快速起步(转)

    Jafka 是一个开源的/性能良好的分布式消息系统.在上一篇文章中有所简单介绍.下面是一篇简单的入门文档.更多详细的文档参考wiki. Step 1: 下载最新的安装包 完整的安装指南在这里.最新的发 ...

  3. 分布式消息系统Kafka初步

    终于可以写kafka的文章了,Mina的相关文章我已经做了索引,在我的博客中置顶了,大家可以方便的找到.从这一篇开始分布式消息系统的入门. 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到 ...

  4. 分布式消息系统Kafka初步(一) (赞)

    终于可以写kafka的文章了,Mina的相关文章我已经做了索引,在我的博客中置顶了,大家可以方便的找到.从这一篇开始分布式消息系统的入门. 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到 ...

  5. [Apache Pulsar] 企业级分布式消息系统-Pulsar快速上手

    Pulsar快速上手 前言 如果你还不了解Pulsar消息系统,可以先看上一篇文章 企业级分布式消息系统-Pulsar入门基础 Pulsar客户端支持多个语言,包括Java,Go,Pytho和C++, ...

  6. Kafka——分布式消息系统

    Kafka——分布式消息系统 架构 Apache Kafka是2010年12月份开源的项目,采用scala语言编写,使用了多种效率优化机制,整体架构比较新颖(push/pull),更适合异构集群. 设 ...

  7. KAFKA分布式消息系统[转]

    KAFKA分布式消息系统  转自:http://blog.chinaunix.net/uid-20196318-id-2420884.html Kafka[1]是linkedin用于日志处理的分布式消 ...

  8. 分布式消息系统kafka

    kafka:一个分布式消息系统 1.背景 最近因为工作需要,调研了追求高吞吐的轻量级消息系统Kafka,打算替换掉线上运行的ActiveMQ,主要是因为明年的预算日流量有十亿,而ActiveMQ的分布 ...

  9. 一种开源的分布式消息系统Nats

    一种开源的分布式消息系统Nats 作者:chszs.未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 1.NATS介绍 NATS是一个开源的 ...

随机推荐

  1. 88. Merge Sorted Array【Easy】【双指针-不用额外空间归并两个有序数组】

    Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: T ...

  2. python之面向对象编程二

    类的成员 类的成员可以分为三大类:字段.方法.属性. 字段:普通字段.静态字段. 方法:普通方法.类方法.静态方法 属性:普通属性. 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多 ...

  3. JZYZOJ1383 [usaco2003feb]impster 位运算 最短路

    http://172.20.6.3/Problem_Show.asp?id=1383  找能到达某个状态的最小操作数,然后把所有状态扫一遍即可,要额外判定一下起始就有的状态(如果起始里没有0那么这些状 ...

  4. 【map】【分解质因数】CDOJ1572 Espec1al Triple

    先把公比为1,即前项 中项 末项相同的统计出来.对每一类数C(n,3)即可. 然后我们发现,因为a1*a3=(a2)^2,所以a1和a3进行质因子分解之后,每一个质因子的指数的奇偶性必然相同,否则无法 ...

  5. Java学习笔记(13)

    StringBuffer 增加 append(boolean b)    可以添加任意类型的数据到容器中 insert(int offset,boolean b)  指定插入的索引值,插入对应的内容  ...

  6. JavaScript的深拷贝与浅拷贝

    深拷贝和浅拷贝是在面试中经常遇到的问题.今天在这里总结一下. 深拷贝与浅拷贝的问题,涉及到JavaScript的变量类型,先来说说变量的类型,变量类型包括基本类型和引用类型. 基本类型:Undefin ...

  7. 打印出C# 中float ,double 在内存中的存放形式

    float floatA = 2.2f; ); ; i < ;++i ) { uint temp = 0x80000000 & (a << i); ) { Console.W ...

  8. error C2248: 'MyString::pCharArray' : cannot access private member declared in class 'MyString'

    std::ostream & operator<<(std::ostream os,const MyString & mystr){os<<mystr.pCha ...

  9. 2014DNIOS视频教程(5-9)

    2014DNIOS视频教程(5-9) 联系2g32@sina.com

  10. FIS的安装

    FIS是专为解决前端开发中自动化工具.性能优化.模块化框架.开发规范.代码部署.开发流程等问题的前端工程化构建工具. 最重要的是,它是国产的!还是百度产的~~~亲切吧~~官网:http://fis.b ...