基于云原生系统的应用分发系统设计
时间:2022-07-23
本文章向大家介绍基于云原生系统的应用分发系统设计,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1、应用分发是什么
架构
将我们现有的所有应用都拆分成一个个基于hub之上的应用服务,对于需要私有化的用户可以提供一个分发客户端,通过部署客户端进行私有化部署。对于不需要私有化的用户,可以直接通过云端访问上面的服务。(可以理解我们在云端也部署了一个client controller)
如果用户想安装应用,只需要在客户端界面点击安装,即可从云端hub中心分发到本地集群,完成自动安装。
2、核心价值
- 功能模式:构建一套以云原生系统为核心的3D数字化应用系统,可以满足用户对私有化环境下的应用分发需求
- 用户体验:通过应用分发的模式让客户更简单、高效地购买和安装应用
- 商业价值:拓宽了应用分发形式和渠道,可以更多样化地形式进行商业变现
3、用户界面
- 命令行工具(CLI),client controller 提供命令行安装部署。
- GUI dashboard,client controller 同时提供了前端的可视化界面进行安装部署操作。
4、关键问题
Hub应用分发模式落地需要解决关键问题是什么?
需要解决的关键问题是应用构建分发标准和3D统一场景描述格式。
4.1、应用构建分发标准
(1)应用构建、分发流程
@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
(2)落地路径
- 首先需要对现有的应用进行切分,让每个应用作为一个独立的系统,相互之间的调用只能走http协议;
- 其次需要确定应用构建流程细节设计,包括应用之间具备依赖关系设计、应用自动化构建和测试等;
- 明确应用分发流程细节设计,在落地过程种应用分发是最核心也最复杂的一块,这一块需要做的事情包括分发协议设计、复杂环境的应用自动化安装部署检测流程;
4.2、3D统一场景描述格式
构建统一的场景描述格式供多种3D应用进行数据交换和使用。 数据格式要求:轻量的、可扩展的、能充分描述3D场景的3D格式。
- JavaScript之JS实现动画效果
- 深入入门系列--Data Structure--04树
- SQL学习之高级联结(自联结、自然联结、外联接)
- ExtJs学习笔记(21)-使用XTemplate结合WCF显示数据
- JavaScript之面向对象的概念,对象属性和对象属性的特性简介
- 快速入门系列--WebAPI--04在老版本MVC4下的调整
- SQL学习之SELECT子句顺序
- [图解]sqlserver中创建链接服务器
- 人工智能时代来临,还在炫耀孩子能考100分?
- 2017:谷歌DeepMind团队的年度回顾
- SQL学习之组合查询(UNION)
- 微信小程序版2048小游戏(附源码)
- SQL学习之去重复查询
- SQL学习之学会使用子查询
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- WordPress 站点地址被恶意篡改的防护方案讨论
- 猿实战06——不一样的地址管理
- Redis常用命令详解
- three.js 制作逻辑转体游戏(下)
- ROS机器人TF基础(坐标相关概念和实践)
- (在模仿中精进数据可视化01) 全国38城居住自由指数可视化
- js字符串/数组常用方法总结
- ThinkPHP5+mpdf 实现富文本生成 PDF文件
- nodejs使用readline逐行读取和写入文件
- go语言逐行读取和写入文件
- SpringBoot中Tomcat是如何启动的
- 自定义注解详解及应用
- 微服务开源框架TARS 之 框架服务解析
- dotnet 在 UOS 国产系统上使用 Xamarin Forms 创建 xaml 界面的 GTK 应用
- K8s集群上使用Helm部署2.4.6版本Rancher集群