组件

    组件模型具有以下主要属性:

    • 构建源 定义组件的构建方式,主要包括源代码类、镜像类和应用模型类。
    • 环境配置 定义组件运行环境配置,包括环境变量和配置文件两类。
    • 存储 定义组件的持久化存储需求。
    • 端口 定义组件向外提供服务的能力。
    • 依赖关系 定义组件间通信依赖关系和变量注入配置。

    组件的划分是一个至关重要的事物,需要开发者掌握好以下原则:

    • 一个组件一个主进程;

    在 Rainbond 中,一个组件一个容器,因此如果是自定义镜像场景中,镜像的制作思想也应该与组件划分思想一致。在 Kubernetes 原生场景中经常有同一个 Pod 中多个容器的模式。一般情况下都是一个主业务容器加一些运维特性容器构成,比如 Mysql+Mysql 监控容器,API 服务加日志收集容器等等,有主有次,主容器是业务,次容器是通用的运维特征,因此在 Rainbond 中将 Pod 多容器的能力运用成组件+的模式。组件定义主要业务,插件定义运维特征且通用。

    让运行于外部的服务成为 Rainbond 组件

    Rainbond 平台统一管理企业的业务系统,不可避免的是部分业务可能无法或暂无必要迁移到 Rainbond 集群中,但集群中已有组件可能需要与其通信或希望通过 Rainbond 网关统一管理外网流量如何。对于此类场景 Rainbond 扩充了一个特殊的“组件”类型,第三方组件。通过指定第三方组件通信地址的方式将其纳入 Rainbond 统一管理范畴。