php操作kafka
<ul><li>php操作kafka----可以参照网上的安装步骤,先安装ldkafka rdkafka,然乎启动zookeeper和kafka服务器</li>
</ul>
<div class="cnblogs_code">
<pre><span style="font-size: 18px; font-family: comic sans ms, sans-serif"><?<span style="color: rgba(0, 0, 0, 1)">php
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">$conf = new Rdkafka\Producer();
//$producer = new RdKafka\Producer();</span>
<span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)"> kafka
{
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(128, 0, 128, 1)">$broker_list</span>="localhost:9092"<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(128, 0, 128, 1)">$topic</span> = "wuwa"<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(128, 0, 128, 1)">$partion</span> = 0<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">protected</span> <span style="color: rgba(128, 0, 128, 1)">$producer</span> = <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">protected</span> <span style="color: rgba(128, 0, 128, 1)">$consumer</span> = <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> __construct()
{
</span><span style="color: rgba(128, 0, 128, 1)">$rk</span> = <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> RdKafka\Producer();
</span><span style="color: rgba(0, 0, 255, 1)">if</span>(<span style="color: rgba(0, 0, 255, 1)">empty</span>(<span style="color: rgba(128, 0, 128, 1)">$rk</span><span style="color: rgba(0, 0, 0, 1)">))
{
</span><span style="color: rgba(0, 0, 255, 1)">throw</span> <span style="color: rgba(0, 0, 255, 1)">new</span> \<span style="color: rgba(0, 0, 255, 1)">Exception</span>("producer error"<span style="color: rgba(0, 0, 0, 1)">);
}
</span><span style="color: rgba(128, 0, 128, 1)">$rk</span>-><span style="color: rgba(0, 0, 0, 1)">setLogLevel(LOG_DEBUG);
</span><span style="color: rgba(0, 0, 255, 1)">if</span>(!<span style="color: rgba(128, 0, 128, 1)">$rk</span>->addBrokers(<span style="color: rgba(128, 0, 128, 1)">$this</span>-><span style="color: rgba(0, 0, 0, 1)">broker_list))
{
</span><span style="color: rgba(0, 0, 255, 1)">throw</span> <span style="color: rgba(0, 0, 255, 1)">new</span> \<span style="color: rgba(0, 0, 255, 1)">Exception</span>('添加broker失败'<span style="color: rgba(0, 0, 0, 1)">);
}
</span><span style="color: rgba(128, 0, 128, 1)">$this</span>->producer=<span style="color: rgba(128, 0, 128, 1)">$rk</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">function</span> sendmsg(<span style="color: rgba(128, 0, 128, 1)">$array_message</span>=""<span style="color: rgba(0, 0, 0, 1)">)
{
</span><span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">$topic = $this->producer->newTopic($this->topic);
return $topic->produce(RD_KAFKA_PARTITION_UA,$this->partion,json_encode($array_message));</span><span style="color: rgba(0, 128, 0, 1)">*/</span>
<span style="color: rgba(128, 0, 128, 1)">$topic</span> = <span style="color: rgba(128, 0, 128, 1)">$this</span>->producer->newTopic(<span style="color: rgba(128, 0, 128, 1)">$this</span>-><span style="color: rgba(0, 0, 0, 1)">topic);
</span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(128, 0, 128, 1)">$topic</span>->produce(RD_KAFKA_PARTITION_UA,<span style="color: rgba(128, 0, 128, 1)">$this</span>->partion,<span style="color: rgba(128, 0, 128, 1)">$array_message</span><span style="color: rgba(0, 0, 0, 1)">);
}
}
</span><span style="color: rgba(128, 0, 128, 1)">$kafuka</span> = <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> Kafka();
</span><span style="color: rgba(128, 0, 128, 1)">$kafuka</span>->sendmsg('general! welcome to distributed world!'<span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(128, 0, 128, 1)">$kafuka</span>->sendmsg('好好学编程,泡昌仔和劲儿弟弟!');</span></pre>
</div>
<p>输出结果</p>
<p>general! welcome to distributed world!<br>好好学编程,泡昌仔和劲儿弟弟!<br><br></p><br><br>
来源:https://www.cnblogs.com/saintdingspage/p/11361524.html
頁:
[1]