安静
PHP技术博客

160728 KAFKA在PHP中的应用(一)

KaFKA简介

Kafka是一种分布式的,基于发布/订阅的消息系统。
主要设计目标如下:
以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能。
高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输。
支持Kafka Server间的消息分区,及分布式消费,同时保证每个Partition内的消息顺序传输。
同时支持离线数据处理和实时数据处理。
Scale out:支持在线水平扩展。
Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被多家不同类型的公司 作为多种类型的数据管道和消息系统使用。

快速部署MACOS环境部署 Kafka

安装 homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装Kafka

brew install kafka

Zookeeper开启

zkServer start

开启Kafka broker

cd /usr/local/Cellar/kafka/0.9.0.0/libexec/bin
./kafka-server-start.sh /usr/local/etc/kafka/server.properties

开启Kafka producer

./kafka-console-producer.sh --broker-list localhost:9092 --topic test

开启Kafka consumer

./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

在producer输入文字回车,即可在consumer看到内容

单机多组Kafka broker配置

cp /usr/local/etc/kafka/server.properties /usr/local/etc/kafka/server-1.properties
cp /usr/local/etc/kafka/server.properties /usr/local/etc/kafka/server-2.properties

修改配置

vim /usr/local/etc/kafka/server-1.properties
broker.id=1
listeners=PLAINTEXT://:9093
port=9093
logs.dir=/tmp/kafka-logs-1
vim /usr/local/etc/kafka/server-2.properties
broker.id=2
listeners=PLAINTEXT://:9094
port=9094
logs.dir=/tmp/kafka-logs-2

启动多实列

./kafka-server-start.sh /usr/local/etc/kafka/server-1.properties
./kafka-server-start.sh /usr/local/etc/kafka/server-2.properties

启动多producer

./kafka-console-producer.sh --broker-list localhost:9093 --topic test
./kafka-console-producer.sh --broker-list localhost:9094 --topic test
赞(0) 打赏
未经允许不得转载:AJ's Blog » 160728 KAFKA在PHP中的应用(一)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏