← 返回文章列表
信创 3 分钟阅读 炬鲸团队

炬鲸 OBSERVE 在飞腾/鲲鹏与统信 UOS 上的适配实践

记录炬鲸 OBSERVE 在飞腾、鲲鹏 ARM64 架构及统信 UOS、麒麟 V10 上的适配过程,涵盖编译、依赖替换、性能验证和兼容性清单,并给出迁移落地建议。

炬鲸 OBSERVE 在飞腾/鲲鹏与统信 UOS 上的适配实践

信创环境的难点在于软硬件组合多、差异大。我们把炬鲸 OBSERVE 完整跑在了飞腾、鲲鹏(ARM64)搭配统信 UOS、银河麒麟 V10 的组合上,下面是适配过程的记录,供有同样需求的团队参考。

架构与依赖盘点

炬鲸 OBSERVE 的存储层基于 C++ 编写,采集端用 Go,前端是纯静态资源。适配 ARM64 的第一件事是把所有二进制重新编译,并确认第三方库在 ARM 上有官方或可靠移植。国产 OS 的 glibc、OpenSSL 版本普遍偏旧,编译时要用目标平台同版本的依赖,而不是在 x86 机器上交叉编译后直接拷贝——后者经常出现运行时 ABI 不一致的诡异崩溃。

编译与依赖替换

统一用目标平台原生编译,避免交叉编译带来的 ABI 不一致:

cmake -DCMAKE_BUILD_TYPE=Release -DTARGET_ARCH=aarch64 ..
make -j$(nproc)

对国产 OS 上缺失或版本过低的库,逐项替换为国产或自编译版本:压缩用 zstd、加密用国密 SM 系列(通过 OpenSSL 的国密扩展或 GmSSL)。替换后跑完整的单元测试和压测,确认无回归。建议为每个依赖记录版本号和替换原因,形成一份可复现的构建清单,方便后续升级和审计。

性能验证

在鲲鹏 920(64 核)上做压测,单机日志写入吞吐稳定在每秒数十万条,查询延迟与 x86 环境相当。CPU 占用和内存曲线平稳,说明 ARM 上的优化没有偷懒。验证重点放在多核并发下的写入放大和索引构建时间,这两项最容易在 ARM 上出问题;同时对比 x86 与 ARM 下相同数据集的查询结果,确认结果一致而非只是"能跑"。

兼容性清单

落地前建议核对下面几项:

  • OS:统信 UOS V20、银河麒麟 V10(服务器版)
  • CPU:飞腾 FT-2000+/D2000、鲲鹏 920
  • 数据库:存储层可选兼容达梦、GBase 的驱动
  • 中间件:JDK 用 Bisheng(毕昇)、Kona 等国产发行版
  • 加密:支持国密 SM2/SM3/SM4,满足等保和密评要求

落地建议

信创迁移不要一步到位,建议先选一个低风险业务试点,跑通采集、存储、查询全链路,再做全量切换。迁移期间新旧环境并行,用双写对比数据一致性,确认稳定后再下线旧环境。团队里最好有人长期跟国产 OS 的补丁节奏,国产发行版的更新频率和兼容性变化比主流发行版更频繁,早跟进能少踩很多坑。