大数据处理项目相关
rd_kafka_topic_t 注意:实际应用中,可能会创建多个rd_kafka_t对象,它们并没有共享状态信息 线程和回调函数 librdkafka 内部将会有多个线程,以充分利用硬件资源。API的实现是完全线程安全的,实际应用中可以在任何时候任何线程中调用任何API函数而不用担心线程安全。 一个以轮询为基础的API用来给实际应用提供信号反馈,实际应用应当按照固定时间间隔调用rd_kafka_poll()函数。这个轮询的API将会调用以下可的回调(都是可选的): 消息发送报告回调:报告消息发送失败。这将允许实际应用采取措施应对发送失败,并释放消息发送过程中占有的资源。 错误回调:报告错误;错误一般是信息化方面的,例如连接broker失败,实际应用通常不需要采取任何措施。错误的数据类型是通过rd_kafka_resp_err_t enum类型数据,可以描述本地错误和远程broker错误。 不是poll函数引起的可选回调函数,可能是由任意线程引发的: logging 回调:实际应用中,用于发送librdkafka产生的log消息。 partitioner 回调:实际应用提供消息的partitioner。partitioner可能被任何线程任何时候调用,它可能由于同一个key而被调用多次。Partitioner 函数有以下限制: 一定不能调用rd_kafka_*()等函数 一定不能阻塞或延长执行 (编辑:广西网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |