Kafka ACL(访问控制列表)介绍

文章目录

  • [Kafka ACL(访问控制列表)介绍](#Kafka ACL(访问控制列表)介绍)
  • [1. Kafka ACL 的基本概念](#1. Kafka ACL 的基本概念)
    • [1.1 Kafka ACL 的目标](#1.1 Kafka ACL 的目标)
    • [1.2 Kafka ACL 的组成部分](#1.2 Kafka ACL 的组成部分)
  • [2. Kafka 支持的资源类型](#2. Kafka 支持的资源类型)
    • [2.1 Topic(主题)](#2.1 Topic(主题))
    • [2.2 Consumer Group(消费者组)](#2.2 Consumer Group(消费者组))
    • [2.3 Cluster(集群)](#2.3 Cluster(集群))
    • [2.4 TransactionalId(事务 ID)](#2.4 TransactionalId(事务 ID))
    • [2.5 Delegation Token(委托令牌)](#2.5 Delegation Token(委托令牌))
    • [2.6 ACL 管理与资源类型的结合](#2.6 ACL 管理与资源类型的结合)
  • [3. Kafka ACL 操作命令](#3. Kafka ACL 操作命令)
    • [3.1 列出现有的 ACL 配置](#3.1 列出现有的 ACL 配置)
    • [3.2 添加 ACL 权限](#3.2 添加 ACL 权限)
    • [3.3 删除 ACL 权限](#3.3 删除 ACL 权限)
    • [3.4 删除所有 ACL 权限](#3.4 删除所有 ACL 权限)
    • [3.5 查看特定资源的 ACL 配置](#3.5 查看特定资源的 ACL 配置)
    • [3.6 仅允许或拒绝特定操作](#3.6 仅允许或拒绝特定操作)
    • [3.7 组合 ACL 配置](#3.7 组合 ACL 配置)
    • [3.8 使用 Wildcard(通配符)进行配置](#3.8 使用 Wildcard(通配符)进行配置)
  • [5. Kafka ACL 管理最佳实践](#5. Kafka ACL 管理最佳实践)
    • [5.1 最小权限原则(Principle of Least Privilege)](#5.1 最小权限原则(Principle of Least Privilege))
    • [5.2 使用通配符来减少 ACL 配置的复杂性](#5.2 使用通配符来减少 ACL 配置的复杂性)
    • [5.3 强化集群安全性:控制管理权限](#5.3 强化集群安全性:控制管理权限)
    • [5.4 定期审计和监控 ACL 配置](#5.4 定期审计和监控 ACL 配置)
    • [5.5 使用拒绝(Deny)策略明确禁止操作](#5.5 使用拒绝(Deny)策略明确禁止操作)
    • [5.6 结合 Kerberos 和 SASL 强化身份认证](#5.6 结合 Kerberos 和 SASL 强化身份认证)
    • [5.7 删除不再需要的 ACL 配置](#5.7 删除不再需要的 ACL 配置)
  • [6. 总结](#6. 总结)

Kafka ACL(访问控制列表)介绍

Kafka 的 ACL(Access Control List) 是一种用于控制访问权限的机制,它允许 Kafka 集群管理员细粒度地管理用户和应用程序对 Kafka 资源(如主题、消费者组、集群等)的访问权限。通过设置 ACL,Kafka 集群的安全性得到了有效保障,防止未授权的用户执行敏感操作。

1. Kafka ACL 的基本概念

1.1 Kafka ACL 的目标

Kafka ACL 的主要目标是通过细粒度的访问控制来:

  • 限制对敏感资源的访问:确保只有授权的用户或客户端能够执行某些操作(如生产、消费、创建、删除主题等)。
  • 保障数据的安全性:通过控制哪些用户可以访问哪些数据,防止数据泄露或误操作。
  • 管理集群资源:通过对集群管理操作的权限控制,避免不当操作对集群稳定性造成影响。

1.2 Kafka ACL 的组成部分

Kafka ACL 主要由以下几个组成部分:

(1)Principal(主体)

Principal 指执行操作的用户或客户端标识,Kafka 支持两种类型的主体:

  • User :表示特定的用户,格式为 User:<username>
  • ClientId :表示客户端标识,格式为 ClientId:<client-id>

例如,User:alice 表示名为 Alice 的用户,而 ClientId:producer1 表示客户端标识为 producer1 的生产者。

(2)Operation(操作)

Operation 定义了可以执行的操作类型,常见的操作包括:

  • Read:读取操作,允许消费者从主题中读取消息。
  • Write:写入操作,允许生产者将消息发送到主题。
  • Create:创建资源,允许创建新主题或其他资源。
  • Delete:删除资源,允许删除主题等资源。
  • Alter:修改资源,允许修改主题的配置(如分区数等)。
  • Describe:查看资源元数据,允许查看主题、消费者组、集群等的描述信息。
  • ClusterAction:对集群的管理操作,如集群的状态查看、控制等。

(3)Resource(资源)

Resource 是指对哪些 Kafka 资源进行权限控制,Kafka 支持以下几种类型的资源:

  • Topic:主题,是 Kafka 中最常见的资源类型。ACL 主要用于控制对主题的生产和消费权限。
  • Group:消费者组,控制用户或客户端对消费者组的访问。
  • Cluster:集群资源,控制集群级别的操作权限,例如创建、删除主题。
  • TransactionalId:事务 ID,主要用于控制事务操作的权限。

(4)Permission(权限)

Permission 表示是否允许或拒绝特定的操作,Kafka 的 ACL 中有两种权限:

  • Allow:允许执行指定的操作。
  • Deny:拒绝执行指定的操作。

管理员可以通过 AllowDeny 来控制特定用户或客户端对资源的操作权限。

2. Kafka 支持的资源类型

Kafka 支持多种 资源类型 ,每种资源类型可以应用访问控制列表(ACL)来管理对该资源的访问权限。这些资源类型包括 主题(Topic)消费者组(Consumer Group)集群(Cluster) 等。

2.1 Topic(主题)

Topic 是 Kafka 中最常见的资源类型。它用于存储和组织消息,生产者向主题发送消息,而消费者从主题读取消息。Kafka 的 ACL 可以精确地控制对主题的读写操作。

常见的操作权限

  • Read:允许从主题读取消息。
  • Write:允许向主题写入消息。
  • Create:允许创建新的主题。
  • Delete:允许删除主题。
  • Alter:允许修改主题的配置(如分区数量、保留策略等)。
  • Describe:允许查看主题的元数据(如分区数、日志保留策略等)。

示例

  • 允许用户 alice 写入 test-topic

    bash 复制代码
    bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal User:alice --operation Write --topic test-topic
  • 允许用户 bob 读取 test-topic

    bash 复制代码
    bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal User:bob --operation Read --topic test-topic

2.2 Consumer Group(消费者组)

Consumer Group 是 Kafka 中的一种资源类型,它表示一个消费者实例的集合,负责从主题中消费消息。多个消费者可以组成一个消费者组,每个消费者组内的多个消费者共同消费一个主题的消息。Kafka 的 ACL 允许对消费者组设置访问控制权限。

常见的操作权限

  • Read:允许消费者组读取消息。
  • Describe:允许查看消费者组的状态、偏移量等元数据。

示例

  • 允许用户 alicegroup1 消费消息:

    bash 复制代码
    bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal User:alice --operation Read --group group1
  • 允许用户 bob 查看 group1 的消费者组状态:

    bash 复制代码
    bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal User:bob --operation Describe --group group1

2.3 Cluster(集群)

Cluster 是 Kafka 集群的资源类型,表示 Kafka 系统本身。集群级别的 ACL 允许对整个集群进行管理操作,如创建、删除、修改主题等操作。

常见的操作权限

  • Create:允许创建主题。
  • Delete:允许删除主题。
  • Describe:允许查看集群状态、元数据等。
  • Alter:允许修改集群级别的配置。

示例

  • 允许用户 admin 创建和删除主题:

    bash 复制代码
    bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal User:admin --operation Create --topic *
    bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal User:admin --operation Delete --topic *
  • 允许用户 admin 查看集群信息:

    bash 复制代码
    bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal User:admin --operation Describe --cluster

2.4 TransactionalId(事务 ID)

Kafka 中的 TransactionalId 是一种用于管理 Kafka 事务的资源类型,特别是对于支持 事务 的 Kafka 生产者。事务 ID 用于在 Kafka 中处理生产者的事务,确保消息的精确一次传递。

常见的操作权限

  • Read:允许读取事务消息。
  • Write:允许创建或写入事务消息。

示例

  • 允许用户 producer1 使用事务 ID txn-1 写入消息:

    bash 复制代码
    bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal User:producer1 --operation Write --transactional-id txn-1
  • 允许用户 consumer1 读取事务消息:

    bash 复制代码
    bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal User:consumer1 --operation Read --transactional-id txn-1

2.5 Delegation Token(委托令牌)

Delegation Token 是一种用于认证和授权的临时凭证,适用于分布式系统中的短期权限授予。在 Kafka 中,委托令牌通常用于支持跨集群访问或通过 OAuth 等第三方认证机制授权。

常见的操作权限

  • Read:允许获取委托令牌。
  • Write:允许创建或删除委托令牌。

2.6 ACL 管理与资源类型的结合

Kafka 允许将 ACL 配置应用于上述资源类型中的任意组合,并且 ACL 操作权限可以根据不同的资源类型设置。这种细粒度的控制保证了 Kafka 系统的安全性,防止未授权的操作对集群资源造成影响。

举例:资源类型与权限结合

  • 允许用户 alicetopic1 进行写入操作:

    bash 复制代码
    bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal User:alice --operation Write --topic topic1
  • 允许用户 bobgroup1 中消费 topic1 的消息:

    bash 复制代码
    bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal User:bob --operation Read --group group1 --topic topic1
  • 允许用户 admin 对整个集群进行描述:

    bash 复制代码
    bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal User:admin --operation Describe --cluster

3. Kafka ACL 操作命令

Kafka 提供了 kafka-acls.sh 工具用于管理集群中的访问控制列表(ACL)。通过该命令,你可以配置、查看和删除访问控制规则,限制不同用户或客户端对 Kafka 资源(如主题、消费者组、集群等)的访问权限。

3.1 列出现有的 ACL 配置

使用 --list 选项可以列出当前 Kafka 集群的 ACL 配置。这将显示所有资源和相关的访问控制策略。

命令格式

bash 复制代码
bin/kafka-acls.sh --bootstrap-server <broker> --list

示例

列出 Kafka 集群上的所有 ACL 配置:

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --list

此命令会输出当前集群中所有资源的 ACL 配置。

3.2 添加 ACL 权限

使用 --add 选项可以向 Kafka 资源添加访问权限。你可以为特定的 用户客户端 授予对特定资源(如主题、消费者组)的操作权限。

命令格式

bash 复制代码
bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal <principal> --operation <operation> --resource <resource-type> --topic <topic-name> --group <group-name>
  • --add: 添加 ACL 条目。
  • --allow-principal: 指定允许访问资源的主体(可以是用户或客户端)。
  • --operation: 指定允许的操作,如 Read, Write, Create, Delete 等。
  • --resource: 指定资源类型(如 Topic, Group, Cluster)。
  • --topic: 指定操作的主题名称。
  • --group: 指定消费者组名称。

示例 1 :允许用户 alice 写入 test-topic 主题

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal User:alice --operation Write --topic test-topic

示例 2 :允许消费者组 group1 读取 test-topic 主题

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal Group:group1 --operation Read --topic test-topic

示例 3 :允许用户 admin 创建主题

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal User:admin --operation Create --topic *

示例 4 :允许用户 alice 删除 test-topic 主题

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal User:alice --operation Delete --topic test-topic

3.3 删除 ACL 权限

使用 --remove 选项可以删除已存在的 ACL 条目,撤销某个用户或客户端对某个资源的访问权限。

命令格式

bash 复制代码
bin/kafka-acls.sh --bootstrap-server <broker> --remove --allow-principal <principal> --operation <operation> --resource <resource-type> --topic <topic-name> --group <group-name>

示例 1 :删除用户 alicetest-topic 的写入权限

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --remove --allow-principal User:alice --operation Write --topic test-topic

示例 2 :删除消费者组 group1test-topic 的读取权限

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --remove --allow-principal Group:group1 --operation Read --topic test-topic

3.4 删除所有 ACL 权限

要删除所有与某个资源相关的 ACL 权限,可以通过指定通配符(*)删除某个类型资源的所有 ACL 配置。

命令格式

bash 复制代码
bin/kafka-acls.sh --bootstrap-server <broker> --remove --all --topic <topic-name>

示例

删除 test-topic 主题上所有的 ACL 配置:

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --remove --all --topic test-topic

3.5 查看特定资源的 ACL 配置

使用 --list 选项可以查看指定资源的 ACL 配置。例如,可以查看某个主题或消费者组的 ACL。

命令格式

bash 复制代码
bin/kafka-acls.sh --bootstrap-server <broker> --list --topic <topic-name> --group <group-name>

示例 1 :查看 test-topic 主题的所有 ACL 配置

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --list --topic test-topic

示例 2 :查看消费者组 group1 的 ACL 配置

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --list --group group1

3.6 仅允许或拒绝特定操作

Kafka 允许对某些操作使用 Deny 权限来显式拒绝访问。

命令格式

bash 复制代码
bin/kafka-acls.sh --bootstrap-server <broker> --add --deny-principal <principal> --operation <operation> --resource <resource-type> --topic <topic-name> --group <group-name>

示例 1 :显式拒绝用户 alicetest-topic 主题的写入权限

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --deny-principal User:alice --operation Write --topic test-topic

示例 2 :显式拒绝消费者组 group1test-topic 主题的读取权限

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --deny-principal Group:group1 --operation Read --topic test-topic

3.7 组合 ACL 配置

可以在同一命令中为多个资源类型添加或删除 ACL。例如,可以为多个主题、消费者组同时设置权限。

命令格式

bash 复制代码
bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal User:<username> --operation <operation> --topic <topic1>,<topic2> --group <group-name>

示例

  • 允许用户 alicetest-topicanother-topic 写入消息,并允许 group1 从这两个主题读取消息:

    bash 复制代码
    bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal User:alice --operation Write --topic test-topic,another-topic
    bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal Group:group1 --operation Read --topic test-topic,another-topic

3.8 使用 Wildcard(通配符)进行配置

Kafka 支持使用通配符来配置多个主题或资源。例如,使用 * 表示所有主题,* 表示所有消费者组。

命令格式

bash 复制代码
bin/kafka-acls.sh --bootstrap-server <broker> --add --allow-principal User:<username> --operation <operation> --topic *

示例 1 :允许用户 alice 对所有主题进行写入

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal User:alice --operation Write --topic *

示例 2 :允许消费者组 group1 读取所有主题

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal Group:group1 --operation Read --topic *

5. Kafka ACL 管理最佳实践

在 Kafka 集群中,使用 ACL(访问控制列表) 来管理权限是确保数据安全和集群控制的关键。合理的 ACL 管理能够帮助组织在多租户环境中保护 Kafka 资源,同时确保不同的用户、应用程序或消费者组仅能执行必要的操作。

5.1 最小权限原则(Principle of Least Privilege)

最佳实践:为每个用户、客户端和消费者组配置最小权限,只允许他们执行必要的操作。这有助于减少潜在的安全风险,确保每个实体只能访问它们需要的资源。

示例 1:为生产者用户配置写入权限

场景 :允许用户 producer-user 只能写入 test-topic 主题,不能读取或执行其他操作。

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal User:producer-user --operation Write --topic test-topic

解释

  • --allow-principal User:producer-user: 允许 producer-user
  • --operation Write: 仅授予写入权限,禁止其他操作。

示例 2:为消费者组配置读取权限

场景 :允许消费者组 consumer-group 读取 test-topic 主题的数据,但不能进行写入。

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal Group:consumer-group --operation Read --topic test-topic

解释

  • --allow-principal Group:consumer-group: 允许 consumer-group
  • --operation Read: 仅授予读取权限,禁止写入。

5.2 使用通配符来减少 ACL 配置的复杂性

最佳实践 :使用通配符(*)来简化 ACL 配置,尤其在资源众多时。通配符允许你一次性授予对多个资源的访问权限。

示例 3:允许某个用户读取所有主题

场景 :允许用户 alice 读取集群中所有的主题,而不授予写入权限。

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal User:alice --operation Read --topic *

解释

  • --topic *: 允许访问所有主题。
  • --operation Read: 仅授予读取权限。

示例 4:允许消费者组写入所有主题

场景 :允许消费者组 group1 向集群中所有的主题写入消息。

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal Group:group1 --operation Write --topic *

解释

  • --topic *: 允许访问所有主题。
  • --operation Write: 仅授予写入权限。

5.3 强化集群安全性:控制管理权限

最佳实践:应限制对集群级别操作的访问权限,例如集群配置修改、创建和删除主题等。这些操作通常由管理员执行。

示例 5:限制用户只能查看集群元数据

场景 :允许 read-only 用户仅查看集群元数据(如主题、分区等),而不能进行任何修改操作。

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal User:read-only --operation Describe --cluster

解释

  • --operation Describe: 允许查看集群元数据。
  • --cluster: 针对集群资源进行权限配置。

示例 6:仅允许管理员创建和删除主题

场景 :只允许用户 admin 创建和删除主题,而不允许普通用户进行这些操作。

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal User:admin --operation Create --operation Delete --topic *

解释

  • --operation Create --operation Delete: 授予创建和删除主题的权限。
  • --topic *: 对所有主题资源进行配置。

5.4 定期审计和监控 ACL 配置

最佳实践:定期审计 Kafka 集群中的 ACL 配置,确保权限正确且没有过度权限。在大型集群中,手动管理 ACL 可能导致错误,使用自动化工具和监控机制非常重要。

示例 7:列出所有 ACL 配置

场景:审计当前集群中的所有 ACL 配置,检查每个用户和消费者组的访问权限。

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --list --topic *

解释

  • --list: 列出当前所有的 ACL 配置。
  • --topic *: 针对所有主题列出 ACL 配置。

示例 8:定期检查某个用户的权限

场景 :定期检查用户 alicetest-topic 的权限。

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --list --principal User:alice --topic test-topic

解释

  • --list: 列出用户的所有 ACL 配置。
  • --principal User:alice: 指定要查看的用户。
  • --topic test-topic: 仅查看该用户在 test-topic 上的权限。

5.5 使用拒绝(Deny)策略明确禁止操作

最佳实践:通过明确的拒绝(Deny)策略来防止特定操作,即使在一些 ACL 中未显式列出。这有助于更好地控制资源访问,特别是在多租户环境中。

示例 9:拒绝某个用户读取敏感主题

场景 :拒绝用户 bobsensitive-topic 主题的读取权限。

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --deny-principal User:bob --operation Read --topic sensitive-topic

解释

  • --deny-principal User:bob: 明确拒绝用户 bobsensitive-topic 主题的读取权限。
  • --operation Read: 仅拒绝读取权限。

示例 10:拒绝所有用户对特定主题进行写入

场景 :拒绝所有用户对 restricted-topic 进行写入操作。

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --deny-principal User:* --operation Write --topic restricted-topic

解释

  • --deny-principal User:*: 拒绝所有用户。
  • --operation Write: 明确拒绝写入操作。

5.6 结合 Kerberos 和 SASL 强化身份认证

最佳实践:对于更高的安全需求,应结合 Kerberos 或 SASL 认证机制来进行身份验证,并与 ACL 配置结合使用。这样能够确保仅经过身份验证的用户和客户端能够执行权限操作。

示例 11:配置 Kafka 与 SASL/Kerberos 集成后使用 ACL

场景:配置 Kafka 使用 SASL/Kerberos 进行身份验证,确保只有通过身份验证的用户才能访问特定资源。

  1. 配置 Kafka 集群启用 SASL/Kerberos 认证。
  2. 配置用户 ACL。
bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal User:alice --operation Read --topic test-topic

解释

  • User:alice:指定一个已通过 Kerberos 或 SASL 认证的用户。
  • --operation Read:授予 alice 用户对 test-topic 主题的读取权限。

5.7 删除不再需要的 ACL 配置

最佳实践:定期清理不再使用的 ACL 配置,避免过度权限配置并保持集群的整洁。

示例 12:删除某个用户的 ACL 配置

场景 :删除 user1test-topic 主题的所有权限。

bash 复制代码
bin/kafka-acls.sh --bootstrap-server localhost:9092 --remove --principal User:user1 --topic test-topic

解释

  • --remove: 删除指定用户的 ACL 配置。
  • --principal User:user1: 指定要删除权限的用户。
  • --topic test-topic: 删除用户在 test-topic 上的所有权限。

6. 总结

Kafka 的 ACL 是集群访问控制的核心机制,允许管理员根据用户、客户端、消费者组等标识,精细化地控制对 Kafka 资源的访问。通过合适的 ACL 配置,管理员可以确保只有授权的用户能够执行操作,从而有效提高 Kafka 集群的安全性。

常见的操作包括:

  • 控制用户对主题的读写权限。
  • 设置消费者组的访问权限。
  • 管理集群级别的操作权限,如创建、删除主题等。
相关推荐
数据智能老司机5 小时前
CockroachDB权威指南——CockroachDB SQL
数据库·分布式·架构
数据智能老司机6 小时前
CockroachDB权威指南——开始使用
数据库·分布式·架构
宁zz6 小时前
乌班图安装jenkins
运维·jenkins
大丈夫立于天地间6 小时前
ISIS协议中的数据库同步
运维·网络·信息与通信
数据智能老司机6 小时前
CockroachDB权威指南——CockroachDB 架构
数据库·分布式·架构
IT成长日记6 小时前
【Kafka基础】Kafka工作原理解析
分布式·kafka
rainFFrain7 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
币之互联万物7 小时前
AQUA爱克泳池设备入驻济南校园,以品质筑牢游泳教育安全防线
安全
州周8 小时前
kafka副本同步时HW和LEO
分布式·kafka