在 PHP 的 RdKafka 扩展中,要设置消息保留(即消息的过期时间),您需要使用 rd_kafka_topic_set_prop
函数为特定的主题设置消息保留策略。以下是一个示例代码,展示了如何为一个名为 “my_topic” 的主题设置消息保留时间为 1800 秒(30 分钟):
addBrokers("localhost:9092"); // 设置消息保留策略 $topic = "my_topic"; $retention_ms = 1800 * 1000; // 1800 秒 $conf->set(RD_KAFKA_TOPIC_PROP_RETENTION_MS, $retention_ms); $producer->setConf($conf); // 发送消息 $producer->send([ 'topic' => $topic, 'value' => "Hello, World!", 'key' => '', ]); // 等待消息传输完成 $producer->poll(0); // 销毁 Kafka 生产者 $producer->close(); ?>
在这个示例中,我们首先创建了一个 Kafka 生产者并添加了 Kafka 代理。然后,我们使用 rd_kafka_topic_set_prop
函数为名为 “my_topic” 的主题设置了消息保留时间为 1800 秒。最后,我们发送了一条消息并等待其传输完成。在完成这些操作后,我们销毁了 Kafka 生产者。