4.3.1 状态兼容性规则 在流式计算的世界里,状态不是静止的湖面,而是奔涌的江河——它随时间推移而增长,随业务演进而变形,随系统升级而迁移。当我们在 Flink 中谈论 Savepoint 与作业升级时,真正叩击灵魂的问题从来不是“能不能保存”,而是“保存下来的状态,能否被新版本的代码正确读懂、安全复用、无损还原?”这背后支撑一切的,是状态兼容性规则(State Compatibility Rules)——它不是一份可有可无的文档附录,而是 Flink 运行时在二进制字节流与 Java 对象之间架设的一座精密校验桥。今天,我们就以一线工程师的身份,亲手拆解这座桥的钢梁、铆钉与应力分布图:从 UID 的指纹级绑定,到序列化器的语义守门,再到状态结构变更时的类型演化算法;不讲概念,只谈实现;