根据文件-
Kafka 使用基于 TCP 的二进制协议
有人问为什么我们不使用HTTP。原因有很多,最好的一点是客户端实现者可以利用一些更高级的 TCP 功能——多路复用请求的能力、同时轮询多个连接的能力等。我们还在许多地方找到了 HTTP 库。语言出奇的简陋。
是否有任何明确的原因因为这似乎不令人信服?
csh*_*shu 12
卡夫卡强调性能。
通常,只要将标头保持在最小大小,HTTP 通过 TCP 带来的开销并不大。
但如果有大量的小消息来回传输,则应考虑 HTTP 的开销。
消息越小,开销所占的大小百分比就越大。
--
此外,基于文本的HTTP协议还有很多特性。解析 HTTP 请求可能很复杂,因此比优化的二进制协议慢。
(例如,即使是最简单的 libmicrohttpd 也很复杂。)
| 归档时间: |
|
| 查看次数: |
3750 次 |
| 最近记录: |