首页 PHP 库 其它类库 php-rdkafka客户端库
php-rdkafka客户端库

这是一个可以发送和接受消息的客户端,下面给大家演示一下发送和接受的操作,需要的朋友可以自行下载后尝试一下。

发送消息

<?phptry {
    $rcf = new RdKafka\Conf();
    $rcf->set('group.id', 'test');
    $cf = new RdKafka\TopicConf();
    $cf->set('offset.store.method', 'broker');
    $cf->set('auto.offset.reset', 'smallest');
    $rk = new RdKafka\Producer($rcf);
    $rk->setLogLevel(LOG_DEBUG);
    $rk->addBrokers("127.0.0.1");
    $topic = $rk->newTopic("test", $cf);
    for($i = 0; $i < 1000; $i++) {
        $topic->produce(0,0,'test' . $i);//没有setMessge接口了,使用produce  参考:https://libraries.io/github/mentionapp/php-rdkafka
    } 
} catch (Exception $e) {
    echo $e->getMessage();

接收消息

<?phptry {
    $rcf = new RdKafka\Conf();
    $rcf->set('group.id', 'test');
    $cf = new RdKafka\TopicConf();/*
    $cf->set('offset.store.method', 'file');
*/
    $cf->set('auto.offset.reset', 'smallest');
    $cf->set('auto.commit.enable', true);
    $rk = new RdKafka\Consumer($rcf);
    $rk->setLogLevel(LOG_DEBUG);
    $rk->addBrokers("127.0.0.1");
    $topic = $rk->newTopic("test", $cf);    //$topic->consumeStart(0, RD_KAFKA_OFFSET_BEGINNING);
    while (true) {
        $topic->consumeStart(0, RD_KAFKA_OFFSET_STORED);
        $msg = $topic->consume(0, 1000);
        var_dump($msg);        if ($msg->err) {            echo $msg->errstr(), "\n";            break;
        } else {            echo $msg->payload, "\n";
        }
        $topic->consumeStop(0);
        sleep(1);
    }
} catch (Exception $e) {    echo $e->getMessage();
}


免责声明

本站所有资源均由网友贡献或各大下载网站转载。请自行检查软件的完整性!本站所有资源仅供学习参考。请不要将它们用于商业目的。否则,一切后果由您负责!如有侵权,请联系我们删除。联系方式:admin@php.cn

相关文章

使用 Prisma 客户端 Python 拥抱类型安全和数据库拉取 使用 Prisma 客户端 Python 拥抱类型安全和数据库拉取

06 Aug 2024

随着现代软件开发的不断进步,我们用来与数据库交互的工具比以往任何时候都更加重要。在这些工具中,Prisma Client Python 已经成为一种强大的 ORM,它优先考虑类型安全和高效的数据库操作。

atitit.客户端连接oracle数据库的方式总结 atitit.客户端连接oracle数据库的方式总结

07 Jun 2016

客户端连接oracle数据库的方式总结 目录 Java程序连接一般使用jar驱动连接。。... 1 桌面GUI一般采取c语言驱动oci.dll1 直接连接... 1 间接连接(需要配置tns及其envi var)... 1 JDBC驱动的4种类型... 1 Java程序连接一般使用jar驱动连接。。 标识字符串为t

如何使用Go客户端库监控Kubernetes服务变化? 如何使用Go客户端库监控Kubernetes服务变化?

27 Nov 2024

使用 Go 客户端库监控 Kubernetes 服务更改Kubernetes 服务对于公开应用程序和管理流量至关重要。它是...

aiplatformb.PredictRequest.Instances 需要类型 *structpb.Value (GCP golang 客户端库;aiplatform) aiplatformb.PredictRequest.Instances 需要类型 *structpb.Value (GCP golang 客户端库;aiplatform)

10 Feb 2024

我正在尝试从GolangWeb应用程序访问我的VertexAI端点(Web服务器/应用程序在云运行+构建上运行)。Web应用程序有一个表单,我正在提交详细信息,我的问题是,如何获取从Web应用程序接收到的结构并将其转换为aiplatformb.PredictRequest结构的Instances字段中接受的类型?typeSubmissionstruct{MonthlyIncomeint

**哪个 Python SOAP 客户端库适合您?浏览不同的选项及其文档。** **哪个 Python SOAP 客户端库适合您?浏览不同的选项及其文档。**

25 Oct 2024

多样化的 Python SOAP 客户端库:浏览文档迷宫对于探索 SOAP 及其客户端库的 Python 新手开发人员来说,...

我们如何使用mysqldump客户端程序备份所有数据库? 我们如何使用mysqldump客户端程序备份所有数据库?

23 Aug 2023

通过使用mysqldump客户端程序,我们可以将所有数据库的备份保存到一个扩展名为.sql的文件中。以下示例可以帮助理解:示例在这个示例中,我们使用mysqldump客户端程序将所有数据库备份到一个名为'alldatabases.sql'的文件中。以下命令将完成此操作:C:\mysql\bin>mysqldump-uroot--all-databases>alldatabases.sql上述命令将创建一个名为alldatabases.sql的文件,其中包含所有数据库的转储信息。

See all articles