将我们现有的所有应用都拆分成一个个基于hub之上的应用服务,对于需要私有化的用户可以提供一个分发客户端,通过部署客户端进行私有化部署。对于不需要私有化的用户,可以直接通过云端访问上面的服务。(可以理解我们在云端也部署了一个client controller)
如果用户想安装应用,只需要在客户端界面点击安装,即可从云端hub中心分发到本地集群,完成自动安装。
Hub应用分发模式落地需要解决关键问题是什么?
需要解决的关键问题是应用构建分发标准和3D统一场景描述格式。
@startuml
participant "client controller"
participant "hub center"
participant "cloud app"
"cloud app" -> "hub center": cloud app注册
"client controller" -> "hub center": 发起cloud app列表请求
"hub center" -> "client controller": 返回cloud app信息
"client controller" -> "hub center": 发起安装依赖请求
"hub center" -> "client controller": 返回cloud app安装依赖
"client controller" -> "client controller": 检测环境依赖
"client controller" -> "hub center": 发起下载请求
"hub center" -> "client controller": 下载cloud app(Pull操作)
"client controller" -> "client controller": cloud app自动构建/运行
@enduml
构建统一的场景描述格式供多种3D应用进行数据交换和使用。 数据格式要求:轻量的、可扩展的、能充分描述3D场景的3D格式。