---
title: Kafka Schema Registry 兼容策略与演进(Backward/Forward/Full 与验证)
date: 2025-11-26
keywords:
- Schema Registry
- 兼容策略
- Backward
- Forward
- Full
description: 配置与验证Schema Registry的兼容策略,指导Avro模式的演进与回滚,避免生产者/消费者不兼容与数据破坏。
tags:
- Backward
- Forward
- Full
- Kafka
- Schema Registry
- 兼容策略
- 数据与存储
- 消息队列
categories:
- 应用软件
- 系统工具
---
## 概述
Schema演进需保证生产者与消费者在不同版本共存时的兼容。通过设置Backward、Forward或Full兼容策略,并在发布前进行兼容性检查,可降低模式变更带来的风险。
## 关键实践与参数
- 全局或主题兼容性: `BACKWARD` `FORWARD` `FULL` `NONE`
- 演进规则: 仅新增可选字段、避免删除或改类型
- 版本治理: 在CI中执行兼容检查并保留版本
- 回滚策略: 不兼容时拒绝注册或快速回退
## 示例/配置/实现
```bash
curl -s -X PUT http://schema:8081/config -H 'Content-Type: application/json' -d '{"compatibility":"BACKWARD"}'
curl -s -X PUT http://schema:8081/config/orders-value -H 'Content-Type: application/json' -d '{"compatibility":"FULL"}'
```
```json
{
"type": "record",
"name": "Order",
"fields": [
{ "name": "id", "type": "string" },
{ "name": "status", "type": "string" }
]
}
```
```json
{
"type": "record",
"name": "Order",
"fields": [
{ "name": "id", "type": "string" },
{ "name": "status", "type": "string" },
{ "name": "amount", "type": ["null", "double"], "default": null }
]
}
```
```bash
curl -s -X POST http://schema:8081/subjects/orders-value/versions -H 'Content-Type: application/vnd.schemaregistry.v1+json' -d '{"schema":"

发表评论 取消回复