基于云原生系统的应用分发系统设计
时间: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格式。
- RavenDb学习(三)静态索引
- 从头编写 asp.net core 2.0 web api 基础框架 (1)
- 使用Identity Server 4建立Authorization Server (6) - js(angular5) 客户端
- 如何实现超高并发的无锁缓存?
- 使用Identity Server 4建立Authorization Server (5)
- 多库多事务降低数据不一致概率
- 利用Python实现DGA域名检测
- 一个“爆款”成功的API,都离不开这8条设计准则
- RavenDb学习(八)高级特性上半部分
- 微信钱包中58到家首页为什么这么快
- hbase源码系列(二)HTable 探秘
- hbase源码系列(三)Client如何找到正确的Region Server
- hbase源码系列(五)Trie单词查找树
- 如何在特定的渗透测试中使用正确的Burp扩展插件
- 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 数组属性和方法
- 用Python程序模拟300位观众,为5位嘉宾随机投票,最后按照降序排列结果
- Python知识点
- 上盘硬菜,@Transaction源码深度解析 | Spring系列第48篇
- Python--网络编程和并发
- HashMap常见问题(更新中)
- 使用SNVSniffer软件找somatic mutation
- 腾讯云cvm 内存使用率监控指标解读
- Redis常见面试题
- 使用MuSE软件找somatic mutation
- vivo 基于原生 RabbitMQ 的高可用架构实践
- 数据库锁
- 现在单细胞还想“水”CNS恐怕得多组学了
- 7个处理JavaScript值为undefined的技巧
- Python高级知识点
- 三阴性乳腺癌表达矩阵探索之数据下载及理解