首页
/ Julie Ops 核心配置参数详解

Julie Ops 核心配置参数详解

2025-06-19 19:23:08作者:卓炯娓

概述

Julie Ops 是一个强大的 Kafka 拓扑管理工具,它通过配置文件来定义和管理 Kafka 集群中的各种资源。本文将深入解析 Julie Ops 中最关键的核心配置参数,帮助用户更好地理解和使用这个工具。

访问控制配置

访问控制方法选择

Julie Ops 支持两种主要的访问控制方法:

  • ACLs:传统的 Kafka 访问控制列表
  • RBAC:基于角色的访问控制(需要 Confluent Platform)

配置参数:

topology.builder.access.control.class=com.purbon.kafka.topology.roles.SimpleAclsProvider

可选值:

  • RBAC: com.purbon.topology.roles.RBACProvider
  • ACLs: com.purbon.kafka.topology.roles.SimpleAclsProvider

RBAC 详细配置

要配置 RBAC,需要设置 MDS (Metadata Service) 服务器的连接信息:

topology.builder.mds.server = "http://localhost:8090"
topology.builder.mds.user = "mds"
topology.builder.mds.password = "mds-secret"

同时需要为各个服务配置集群 ID:

topology.builder.mds.kafka.cluster.id = "foobar"
topology.builder.mds.schema.registry.cluster.id = "schema-registry-cluster"
topology.builder.mds.kafka.connect.cluster.id = "connect-cluster"

Schema 管理配置

如果需要使用 Julie Ops 管理 Schema,需要配置 Schema Registry 的地址:

schema.registry.url = "http://localhost:8081"

状态管理配置

Julie Ops 需要维护一些状态信息,默认使用文件系统存储,但也支持多种后端:

topology.builder.state.processor.class=com.purbon.kafka.topology.backend.FileBackend

可选后端:

  • 文件系统:com.purbon.kafka.topology.backend.FileBackend
  • Redis:com.purbon.kafka.topology.backend.RedisBackend
  • AWS S3:com.purbon.kafka.topology.backend.S3Backend
  • Google Cloud Storage:com.purbon.kafka.topology.backend.GCPBackend

Redis 后端需要额外配置:

topology.builder.redis.host = "example.com"
topology.builder.redis.port = 6379

主题命名规则定制

Julie Ops 允许自定义主题命名规则,使用 Jinja2 模板语法:

topology.topic.prefix.format = "{{env}}_{{team}}_{{project}}_{{topic}}"
topology.project.prefix.format = "{{env}}_{{team}}_{{project}}"
topology.topic.prefix.separator = "_"

ACL 优化配置

为减少 ACL 或 RBAC 绑定的数量,可以启用优化模式:

topology.acls.optimized=true

启用后,Julie Ops 会使用前缀绑定而非为每个用户和主题创建单独的绑定。

内部主题前缀配置

用于避免删除不受 Julie Ops 控制的主题:

kafka.internal.topic.prefixes.0=_
kafka.internal.topic.prefixes.1=topicPrefixA
kafka.internal.topic.prefixes.2=topicPrefixB

DLQ 主题管理

基本配置

启用自动生成 DLQ 主题:

topology.dlq.topics.generate=true

允许/拒绝列表配置:

topology.dlq.topics.allow.list=["allowedTopic1", "allowedTopic2"]
topology.dlq.topics.deny.list=["deniedTopic1", "deniedTopic2"]

DLQ 主题命名

自定义 DLQ 主题命名格式:

topology.topic.dlq.prefix.format="{{topic}}_error"
topology.topic.dlq.label="error"

拓扑验证配置

可以配置一系列验证规则来检查拓扑文件:

topology.validations.0=com.purbon.kafka.topology.validation.topology.CamelCaseNameFormatValidation
topology.validations.1=com.purbon.kafka.topology.validation.topic.PartitionNumberValidation

用户可以自定义验证规则,只需实现相应的接口。

连接器主题创建控制

控制是否允许连接器主体创建主题:

topology.connector.allow.topic.create=false

Julie Ops 内部主体配置

排除特定主体(如 Julie Ops 自身使用的)的 ACL 管理:

julie.internal.principal="User:Julie"

状态管理策略

主题状态管理

控制是否从集群获取主题状态:

topology.state.topics.cluster.enabled=false

全局状态管理

控制是否从集群获取所有资源状态:

topology.state.cluster.enabled=false

资源管理范围控制

主题管理范围

topology.topic.managed.prefixes.0=User:AService
topology.topic.managed.prefixes.1=User:BService

服务账号管理范围

topology.service.accounts.managed.prefixes.0=User:AService
topology.service.accounts.managed.prefixes.1=User:BService

消费者组管理范围

topology.group.managed.prefixes.0=NameSpaceA
topology.group.managed.prefixes.1=NameSpaceB

Schema 主题管理范围

topology.subject.managed.prefixes.0=NameSpaceA
topology.subject.managed.prefixes.1=NameSpaceB

HTTPS/TLS 配置

配置 HTTPS 连接所需的证书:

ssl.keystore.location=/path/to/keystore.p12
ssl.keystore.password=keystore_password
ssl.truststore.location=/path/to/truststore.p12
ssl.truststore.password=truststore_password
ssl.key.password=key_password

注意:Julie Ops 仅支持 PKCS12 格式的证书存储。

总结

本文详细介绍了 Julie Ops 的核心配置参数,涵盖了访问控制、状态管理、资源命名、验证规则等多个方面。合理配置这些参数可以帮助用户更好地管理 Kafka 集群资源,确保安全性和一致性。建议用户根据实际需求选择合适的配置方案。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
197
2.17 K
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
208
285
pytorchpytorch
Ascend Extension for PyTorch
Python
59
94
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
974
574
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
549
81
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.02 K
399
communitycommunity
本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息
393
27
MateChatMateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。 官网地址:https://matechat.gitcode.com
1.2 K
133