至关重要的是要意识到不要让 ZooKeeper 超出其界限 — — 这通常由 CPU 和网络吞吐量限制决定。 理由这样做(并且很可能有效),否则您要避免将 ZooKeeper 扩展到超过五个节点。数量越多将产生巨大的负载,因为所有节点在处理 Kafka 请求时都试图保持同步。(话虽如此,随着 Kafka 新版本的发布,对 ZooKeeper 的依赖和压力越来越小,这个问题将继续减少。)
通过隔离保护 Kafka 和 ZooKeeper
Kafka 部署的安全性取决于两个关键要素:1) Kafka 的内部配 海外华人非洲数据 置和 2) 它使用的基础设施。Kafka 提供对 Kafka/客户端和 Kafka/ZooKeeper 身份验证的支持,以及保护公共互联网客户端部署的 TLS 支持。
隔离对于保护 Kafka 和 ZooKeeper 至关重要。ZooKeeper 应仅与 Kafka 连接 — 切勿与公共互联网连接。Kafka 和 ZooKeeper 还应通过适当的防火墙和安全组进行隔离和保护。代理应位于不接受外部连接的私有网络中,而 Kafka 本身应通过使用负载平衡或中间件层与公共互联网客户端保持一定距离。
调整 ZooKeeper 以最大程度减少延迟
还有其他几个相对快速的调整,如果一起实施并认真维护,将使 ZooKeeper 部署更加有效。使用具有高性能网络带宽的服务器。使用适当的磁盘。将日志存储到单独的磁盘。完全隔离 ZooKeeper 进程并确保禁用交换。实施有效的监控和警报并使用仪表盘跟踪延迟。