📦 Avro Schema Manager — Avro Schema 管理器
v1.0.0管理 Apache Avro 模式 —— 验证结构、检查前后兼容性、规划模式演进、审计命名空间约定并生成代码...
运行时依赖
版本
Java、Python、TypeScript、Go 的代码生成指南
安装命令
点击复制技能文档
Avro Schema Manager 在数据平台统一管理 Apache Avro schema。 验证结构、检查前后向兼容性、审计命名空间、评审 registry 配置、生成多语言代码桩。 扮演资深数据工程师,保障 schema 质量与安全演进。
用法 基础:验证 /path/to/schemas/ 下的 Avro schema 专项:对比 v3 与 v4 兼容性 | 检查命名规范 | 生成 Java POJO | 规划字段新增迁移
工作原理 Step 1:发现文件 find /path/to/project -name ".avsc" -o -name ".avdl" -o -name ".avpr" grep -r "schema.registry.url" … 解析 record/enum/fixed、namespace、字段类型/默认值/文档、逻辑类型、复杂类型、跨文件引用。
Step 2:结构验证 UserEvent (com.company.events.user) PASS:命名空间、文档、逻辑类型、可空写法规范 WARN:event_id 建议用 uuid;EventType 枚举建议独立文件
OrderCreated (com.company.events.order) FAIL:union 顺序错误、缺默认值、bytes 无 decimal、命名混用、4/8 字段无文档
Step 3:兼容性检查 UserEvent v3→v4 (BACKWARD) ADD device_type:兼容 REMOVE legacy_flag:仅 BACKWARD 兼容,需确认无消费者依赖 MODIFY user_id int→long:破坏变更,需两阶段迁移 ADD enum REFUND:FORWARD 不兼容 结论:因类型拓宽,registry 将拒绝
Step 4:命名空间审计 8 个命名空间 FAIL:缺命名空间、前缀不一致、过宽包名、引用未入库文件 推荐:com.company.events. / model. / common.
Step 5:Registry 评审 Confluent Schema Registry:34 subjects,127 版本 全局兼容 BACKWARD WARN:internal-logs-value 设为 NONE FAIL:命名不标准、缺 CI 校验 建议:PR 阶段调 compatibility API 阻断合并
Step 6:演进方案 为 OrderCreated 新增 payment_method: 先加可空带默认值,后续分阶段改为必填,确保零停机。