介绍

Kafka 介绍

Kafka 是一个分布式流处理平台,以高吞吐量、低延迟、可扩展性和容错性著称。作为分布式消息队列,Kafka 高效地在不同系统之间传输和存储大量数据。它支持多种数据格式,能够处理实时数据流,广泛应用于日志收集、事件驱动架构、实时分析、数据集成等多个领域。Kafka 采用分布式架构,核心组件包括 Producers、Consumers、Topics 和 Brokers,并通过分区和复制机制确保数据的可靠性和高可用性。

在部署模式方面,支持:

  • KRaft 模式:下一代模式,移除对 ZooKeeper 的依赖,使用 Kafka 自身的 Raft 共识协议进行元数据管理。

Alauda Streaming Service for Kafka 介绍

Alauda Streaming Service for Kafka 是基于 Kubernetes (K8s) 深度优化开发的解决方案,通过 controller (Operator) 为 Kubernetes 集群中的 Kafka 实例提供全生命周期管理的便利。它扩展了 Kubernetes API,提供声明式配置方式,自动化 Kafka 集群的运维,使用户能够以云原生方式轻松部署、管理和维护 Kafka 集群,从而满足生产环境中对稳定性、可扩展性和效率的严格要求。

主要特性

  1. KRaft 模式支持
    下一代模式,消除对 ZooKeeper 的依赖,使用 Kafka 内置的 Raft 协议进行元数据管理。提供:

    • 简化架构,减少管理组件
    • 提升大规模集群的可扩展性
    • 更快的 controller 故障切换
    • 支持合并和专用 controller 角色
  2. 访问控制与安全

    • 支持 TLS 加密,确保数据传输安全,防止数据被窃取或篡改。
    • 提供完善的用户认证和授权机制,严格控制不同用户或应用对 Kafka 集群的访问权限,保障敏感数据的安全访问。
  3. 网络与访问方式

    • 支持多种 Kubernetes 服务类型,如 NodePort 和 LoadBalancer,允许用户根据网络架构和业务需求将 Kafka 服务暴露给外部应用。此外,用户可灵活指定 NodePort 端口,以满足特定网络配置需求。
    • 完全兼容 IPv4 和 IPv6 网络环境,适应不同网络场景,确保在以传统 IPv4 网络为主及向 IPv6 架构过渡的环境中稳定运行。
  4. 弹性伸缩

    • 支持在线水平扩缩容,动态添加 Kafka Broker 节点,无需中断服务,以满足业务变化需求。例如,在业务高峰期增加节点以提升集群处理能力。
    • 支持垂直资源调整,根据实际负载灵活修改 Kafka Broker 节点的 CPU、内存等资源配置,优化资源利用率。
  5. 升级与高可用

    • 提供平滑的版本升级机制,通过逐步替换节点等策略,确保 Kafka 版本升级过程中服务不中断且无数据丢失,保障业务连续性。
    • 利用多 Replica 机制,将数据复制到多个节点,节点故障时可自动切换到其他 Replica,确保生产环境的高可用性。
  6. 自定义调度策略

    • 支持 Kubernetes 的 NodeSelector、Toleration 和 Affinity 调度策略,允许用户根据节点标签、节点特性及业务需求灵活控制 Kafka pod 的调度逻辑,从而将 Kafka 实例部署在最合适的节点上,最大化集群资源利用率。
  7. 自动化运维能力

    • 滚动扩缩容:扩缩容操作时采用滚动方式,逐步调整 Kafka Broker 节点数量,同时自动处理数据重新分布和负载均衡,确保集群正常运行和数据一致性。
    • 零停机升级:升级 Kafka 版本或变更配置时,逐个节点顺序更新,数据同步并验证新节点运行状态,保持服务连续性,避免影响业务运行。