zoukankan      html  css  js  c++  java
  • 分布式消息系统Jafka入门指南

    分布式消息系统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下显示为乱码,只是没关系,我们随后解决。

  • 相关阅读:
    jquery load 方法回显数据
    jquery动态添加表单数据
    表单对象属性disabled和readOnly
    jQuery 对象和 DOM 对象
    jQuery 回调函数
    JQuery与JavaScript onload的区别
    BigDecimal类型数据保留两位小数即百分比运算
    一次SQL查询语句的优化
    富文本编辑器的保存操作注意事项
    poi 技术动态更新 Excel模板内容,动态更新内容
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6746812.html
Copyright © 2011-2022 走看看