客户端以非常快的方式向Kafka添加元素以及客户端延迟最小的协议是什么?我应该使用RPC / raw tcp而不是http吗?我想以火灾和遗忘的方式添加这些,是否有一个udp选项来添加这些项目?
答案 0 :(得分:1)
直接与Kafka集群交互的唯一方法是通过Kafka协议。它是TCP上的二进制协议,有关完整的详细信息,请参阅:https://kafka.apache.org/protocol。这就是Kafka客户实施的目标。
有一些代理/网桥允许通过HTTP,AMQP和一些其他协议进行交互,但最终使用Kafka协议连接到群集,因此不仅性能更差,而且它们通常提供的功能少于Kafka协议。
Kafka的设计考虑了速度,因此协议非常有效。它还支持请求批处理,因此您可以为您的用例找到甜蜜的“延迟与吞吐量”点。
关于“即发即忘”,您可以使用acks
设置在向Kafka生成数据时指定所需的确认。设置为0时,Producer不会等待来自群集的任何反馈,请参阅:https://kafka.apache.org/documentation/#producerconfigs