Laravel项目中使用kafka_laravel-kafka扩展包推荐
Laravel  /  管理员 发布于 3年前   2863
Apache Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列,可以处理大量的数据,并使你能够将消息从一个端点传递到另一个端点。 Kafka适合离线和在线消息消费。 Kafka消息保留在磁盘上,并在群集内复制以防止数据丢失。Kafka构建在ZooKeeper同步服务之上。 它与Apache Storm和Spark非常好地集成,用于实时流式数据分析。
Laravel Kafka 是一个用于在 Laravel 应用程序中轻松使用 Apache Kafka 生产者和消费者的软件包。
使用 publishOn 方法,您可以流畅地配置和发布消息负载:
use Junges\Kafka\Facades\Kafka;
Kafka::publishOn('broker', 'topic')
->withConfigOption('property-name', 'property-value')
->withConfigOptions([
'property-name' => 'property-value'
]);
下面是一个示例,说明如何在 Laravel 应用程序中通过此包向 Kafka 发送消息:
use Junges\Kafka\Facades\Kafka;
/** @var \Junges\Kafka\Producers\ProducerBuilder $producer */
$producer = Kafka::publishOn('broker', 'topic')
->withConfigOptions(['key' => 'value'])
->withKafkaKey('your-kafka-key')
->withKafkaKey('kafka-key')
->withHeaders(['header-key' => 'header-value']);
$producer->send();
这是通过消费者订阅消息的示例:
use Junges\Kafka\Facades\Kafka;
$consumer = Kafka::createConsumer('broker')->subscribe('topic');
// Handler via callback:
$consumer->withHandler(function(\RdKafka\Message $message) {
// Handle your message here
});
// Invokable handler:
class Handler
{
public function __invoke(\RdKafka\Message $message){
// Handle your message here
}
}
$consumer->withHandler(Handler::class)
该软件包提供的其他功能如自述文件中所述:
配置要消费的最大消息数 配置死信队列 - 维基百科 配置中间件 Kafka::fake() 在测试中伪造 Kafka 生产者的方法 在开发过程中启用调试的方法 可配置的消息负载
在后台,这个包需要 rdkafka 扩展,它为 PHP 提供了一个生产就绪、快速的 Kafka 客户端。
您可以了解有关此包的更多信息、获取完整安装说明并查看 GitHub 上的源代码。
https://github.com/mateusjunges/laravel-kafka
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号