跳到主要内容
版本:V6.2

多架构应用部署

在 Rainbond 信创版本中,您可以根据需要将应用组件部署到特定的 CPU 架构环境中。本文将详细介绍如何在 Rainbond 平台上实现多架构应用的部署和管理。

应用架构选择

当 Rainbond 集群中包含不同 CPU 架构(如 X86_64 和 ARM64)的计算节点时,您可以在创建组件时指定其运行架构。Rainbond 会自动查询集群中可用的架构类型,并提供对应的选项。

架构选择界面

架构选择的影响

选择特定架构后,Rainbond 会:

  1. 自动将组件调度到对应架构的节点上
  2. 使用与所选架构兼容的构建环境
  3. 选择或构建与架构匹配的容器镜像
  4. 应用适合该架构的运行时优化
提示

在构建和部署前,建议先确认集群中是否有足够的对应架构节点资源,特别是 ARM64 架构的资源可能比 X86_64 更有限。

多架构部署方式

Rainbond 支持多种方式在不同架构上部署应用组件,以下是详细说明:

1. 异构源码构建

Rainbond 的源码构建功能已全面支持 ARM64 架构,让您无需修改代码即可在国产化环境中部署应用。

操作步骤:

  1. 在创建组件时选择从源码创建组件
  2. 填写代码仓库地址、分支等信息
  3. 选择架构选项中,选择ARM64
  4. 点击确定创建组件
  5. Rainbond 将自动配置适合 ARM64 的构建环境,并将构建完成的组件部署到对应架构的节点上

提示
  • 确保您的源代码不包含与特定架构绑定的本地库或依赖
  • 对于 Java 应用,使用 JDK 8 或更高版本(这些版本对 ARM64 有较好的支持)

2. 异构软件包构建

对于 Java 类应用(JAR/WAR),其字节码本身与 CPU 架构无关,只需提供对应架构的 JVM 运行环境即可。Rainbond 的软件包上传功能支持选择目标架构进行部署。

操作步骤:

  1. 在创建组件时选择从软件包创建组件
  2. 上传 JAR/WAR 包
  3. 选择架构选项中,选择ARM64
  4. 选择适合 ARM64 的 JDK 版本
  5. 完成创建并部署
提示
  • 确保软件包中不包含特定架构的本地库(如 .so 或 .dll 文件)
  • 如果应用依赖本地库,需要提供对应架构版本的库文件
  • 对于需要特定 JVM 参数的应用,不同架构可能需要调整参数配置

3. 异构镜像构建

当使用容器镜像部署应用时,您需要确保所选镜像支持目标架构。多数主流镜像都提供了多架构支持。

操作步骤:

  1. 在创建组件时选择从镜像创建组件
  2. 填写镜像地址(建议使用支持多架构的镜像)
  3. 选择架构选项中,选择ARM64
  4. 完成创建并部署
  5. Rainbond 将自动拉取镜像的 ARM64 版本(如 arm64/v8)并部署到对应节点

镜像选择建议:

  • 使用官方支持多架构的镜像,如 Docker Hub 上带有 Multi-platform 标记的镜像
  • 对于基础镜像,推荐使用 Alpine、Ubuntu、Debian 等提供 ARM64 官方支持的发行版
  • 避免使用只支持单一架构的旧版或非官方镜像
  • 如需自建镜像,建议使用 Docker Buildx 等工具构建多架构镜像

4. 通过应用市场部署

Rainbond 开源应用商店提供了许多已适配 ARM64 架构的应用模板,您可以直接一键安装使用。

操作步骤:

  1. 进入应用市场 → 开源应用商店
  2. 浏览并选择需要的应用
  3. 查看应用详情中的支持架构信息,确认是否支持 ARM64
  4. 点击安装,选择目标团队和应用
  5. 应用将自动部署到对应架构的节点上

应用市场使用技巧:

  • 在应用详情页查看支持架构标签,确认兼容性
  • 对于自行发布的应用模板,系统会自动识别并记录其架构属性
  • 企业可以建立自己的多架构应用模板库,简化国产化环境的应用交付

修改组件架构

已部署的组件如需切换到其他架构环境运行,可以通过以下步骤操作:

操作步骤:

  1. 进入组件视图 → 构建源
  2. 在构建源信息页面,修改为目标架构(如从 X86_64 切换到 ARM64)
  3. 点击确定保存修改
  4. 重新点击构建按钮触发重新构建
  5. 构建完成后,组件将自动部署到新架构的节点上
注意
  1. 修改架构后必须重新构建组件才能生效
  2. 架构变更可能导致组件需要重新适配,特别是包含本地库的应用
  3. 切换架构后,请检查应用的性能和功能是否正常

多架构混合部署最佳实践

在实际应用中,您可能需要将不同组件部署到不同架构的节点上。以下是一些推荐的最佳实践:

应用拆分策略

  1. 核心业务优先迁移:将核心业务组件优先迁移到国产化 ARM64 环境
  2. 数据库分阶段迁移:数据库等有状态服务可以在充分测试后再迁移
  3. 难以迁移的组件保留:某些难以适配的第三方组件可以继续在 X86_64 节点上运行

混合架构应用示例

以一个典型的三层应用为例,混合架构部署策略可以是:

  • 前端:使用源码构建方式部署到 ARM64 节点(前端代码通常跨平台兼容性好)
  • 后端服务:核心业务逻辑使用 ARM64,特殊组件保留在 X86_64
  • 数据库:根据性能测试结果选择最佳架构,或使用云服务商提供的数据库服务

性能优化

不同架构下应用性能可能存在差异,您可以:

  • 调整 ARM64 节点上应用的资源分配(CPU/内存)
  • 针对 ARM64 架构优化 JVM 参数(如果是 Java 应用)
  • 监控不同架构下的应用性能,进行针对性调优

问题排查与解决

在多架构部署过程中可能遇到的常见问题及解决方案:

1. 组件无法在目标架构上构建

可能原因

  • 构建节点不支持目标架构
  • 依赖的基础镜像不支持目标架构
  • 源码中包含特定架构的二进制文件

解决方案

  • 确认已在对应架构上配置了构建节点
  • 选择支持多架构的基础镜像
  • 检查并移除源码中的架构特定依赖

2. 应用在新架构上性能下降

可能原因

  • ARM64 和 X86_64 处理器特性差异
  • JVM 或运行时环境配置不当
  • 架构优化不足

解决方案

  • 调整应用的资源配置
  • 针对特定架构优化运行参数
  • 考虑使用特定架构的优化库

3. 第三方依赖兼容性问题

可能原因

  • 依赖库不支持目标架构
  • 使用了特定架构的原生库

解决方案

  • 寻找支持多架构的替代依赖
  • 联系依赖提供方获取多架构支持
  • 对关键依赖进行源码级适配
信息

Rainbond 平台提供了全面的多架构应用部署支持,无论是通过源码构建、软件包部署、镜像部署还是应用市场安装,都能轻松实现应用在不同架构环境中的部署和迁移。这种灵活性极大地降低了企业信创环境建设的技术门槛,帮助企业平稳完成国产化适配过程。