[B]Flink版本适配改造(二)1.0.7+
# 多版本补丁管理策略
在完成 Flink 版本号切换后,我们接着要解决另一个问题: 如何让多个版本的补丁能够同时存在补丁共存 ,且不会互相干扰?
# 补丁结构改造示意
如下图所示,我们在 bigtop-packages/src/common/flink/
路径下,为每个 Flink 版本分别创建了对应的补丁子目录:
bigtop-packages/
└── src/
└── common/
└── flink/
├── 1.15.3/
│ └── xxx.patch
└── 1.17.2/
└── yyy.patch
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
这样做的好处在于:
多版本兼容
每个版本的补丁仅对其构建过程生效,避免了“当前补丁影响旧版本”或“老补丁干扰新版”的问题。
# 编译适配机制:依赖 Bigtop 的扩展逻辑
这种按版本组织的补丁策略,需要配合对 Bigtop 构建逻辑进行一定改造,才能在构建时动态注入版本对应的补丁文件。
你可以参考本站文章: