github地址: https://github.com/edenhill/librdkafka
使用librdkafka开发一个producer的步骤:
librdkafka:
1. conf 设置
kafka conf:
rd_kafka_conf_new(): rd_kafka_conf_set()
topic conf:
rd_kafka_topic_conf_new(): rd_kafka_topic_conf_set()
2. 设置conf回调,消息发送成功或者失败都会调用
rd_kafka_conf_set_dr_cb()
rd_kafka_conf_set_dr_msg_cb()
3. 创建kafka
rd_kafka_new()
设置系统日志
rd_kafka_set_logger()
rd_kafka_set_log_level()
添加下游brokers:
rd_kafka_brokers_add()
4. 创建新的topic
rd_kafka_topic_new()
5. producer:
rd_kafka_produce()
发送后,设置时间观察,第二个参数是阻塞等待时间,一般设置为0,rd_kafka_poll()
6. 销毁操作
rd_kafka_topic_destroy()
rd_kafka_destroy()
rd_kafka_wait_destroyed(2000)