当有rd_kafka_flush api时,rd_kafka_outq_len的目的是什么? 考虑到使用rd_kafka_outq_len只是为了确保所有生成的消息都到达代理?我们只是调用rd_kafka_flush而不是使用rd_kafka_ouq_len吗? (现在已经过时了吗?)
答案 0 :(得分:0)
rd_kafka_flush()
,以方便应用程序开发人员帮助他们在不丢失邮件的情况下正确关闭其生产者。
正如您所提到的,为此目的不再需要旧rd_kafka_outq_len()
但不能删除(没有SONAME碰撞)以免破坏现有应用程序。在使用重新路由的队列时,它还允许提高flush()的灵活性。