Rainbond应用市场应用制作规范

本文档持续完善中…

规范目的

此规范的制定为了指导用户如何制作Rainbond应用市场SaaS化交付应用。

规范要求

  • 支持一键安装

    一键安装是指可以通过应用市场一键实现自动化安装完整的业务系统,要具备此能力需要做到:

    • 完整的业务系统支持自动的持久化数据初始化和升级的能力。
    • 基于环境变量对服务进行最优化配置。
  • 容错能力强

    容错能力强是指在云环境下,业务系统中的所有组件可以具备一定的混沌容错性,特别是以下几点:

    • 服务启动时对其他服务的依赖通信做一定的重试。
    • 服务不能出现死锁状态,比如由于与其他服务通信出现一次错误导致服务卡死。
  • 多用户交付

    应用可以多次安装部署。

关键因素

数据初始化

数据初始化一般主要是数据库数据初始化和静态数据初始化,推荐的处理方式如下:

  • 数据库数据初始化

    在微服务场景中,如果每个服务都有自己的数据库服务,那么可以直接将数据库比如Mysql作为服务进行代码化维护,将其对应的服务SQL初始化代码和升级代码进行持续升级。

    第二种是服务自身维护SQL,每次启动后根据版本特性来执行SQL。这类方式一般进行只增不减的升级方式。

  • 静态数据初始化

    这类主要是网站类服务需要持久化某些目录,但是目录下已包含一些初始化数据。操作方式是先将初始化数据至于其他目录中,服务启动后判断持久化目录是否包含数据,若未包含,则将初始化数据同步进去以实现初始化。

服务配置

应用进行SaaS化标准交付时,自定义的配置部分建议完全环境变量化,以环境变量的方式定义不同的参数类型。特别是服务之间的连接信息,务必完全根据Rainbond的规范环境变量化,以确保每次安装数据变化后工作正常。