Kafka Schema Registry 与 Avro 兼容性策略实战兼容性模式backward:新模式兼容旧数据的读取forward:旧模式兼容新数据的读取full:同时兼容前后none:不校验兼容,风险高注册与查询(HTTP)POST /subjects/items-value/versions {"schema":"{\"type\":\"record\",\"name\":\"Item\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"},{\"name\":\"name\",\"type\":\"string\"}]}"} GET /subjects/items-value/versions/latest 生产者集成(Java 示例)Properties p = new Properties(); p.put("bootstrap.servers", "localhost:9092"); p.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); p.put("value.serializer", "io.confluent.kafka.serializers.KafkaAvroSerializer"); p.put("schema.registry.url", "http://localhost:8081"); 演进建议仅新增可选字段,避免删除或重命名为新字段提供默认值,提升兼容性验证通过 Schema Registry 的兼容性检查 API 验证模式更改总结规范的模式管理与兼容策略能在快速迭代中保障生产消费解耦与数据可读性。

发表评论 取消回复