3D轻量化引擎HOOPS Communicator中的反向代理

news2024/11/15 7:34:16

一、HOOPS Communicator概述

HOOPS Communicator由三个主要组件组成:Web查看器、服务器和数据创作工具

(1)Web GL Viewer:该组件嵌入在客户端的Web浏览器中,负责显示CAD数据、PMI视图、属性、测量、数据标记等。

服务器:通常被称为单个组件,它由三个不同的部分组成:流缓存服务器、HOOPS服务器和文件服务器

(2)HOOPS流缓存服务器:读取服务器上的流缓存数据并将其流式传输到查看器。流缓存是我们的文件格式,可实现大型数据集的高性能渲染。

(3)HOOPS Server:负责编排后端的流缓存服务器。

  • 文件服务器:主要是为了方便我们的用户启动和运行。许多人会用Apache或Nginx等更标准的东西来替换它。
  • 数据创作工具:允许您将数据引入系统的工具,例如CAD或多边形数据
  • 二进制:我们提供了一个名为Converter的二进制文件,大多数用户都在使用它。它包含大量命令行选项,因此您可以从CAD数据中挑选您想要的内容。

3D模型轻量化及格式转换解决方案icon-default.png?t=N5K3https://isite.baidu.com/site/wjz8psvc/275e648c-86f9-40a6-a112-5771ac5491f2

二、有关HOOPS服务器的更多信息

由于我们为许多不同的行业提供服务,因此我们尝试使我们的工具尽可能灵活。因此,新用户在开始时可能会感到困惑,不知道他们的选择是什么。以下是一些需要记住的快速注意事项:

  1. 您可以使用完全不需要服务器组件的Web查看器,我们称之为SCS查看和加载。基本上,您只需在运行时通过异步获取将SCS文件直接加载到 Web查看器中。
  2. 我们的大多数用户都使用客户端渲染,这只需要流缓存服务器组件。
  3. 您的应用程序可以选择自行管理流缓存服务器实例的生命周期。许多用户不想管理这些流缓存服务器的生命周期,因此他们使用HOOPS Server
  4. 我们不建议您使用提供的文件服务器投入生产,因为它主要是为了帮助您进行初始开发。

三、有什么问题?

流缓存服务器或ts3d_sc_server在其自己的端口上侦听。我们这样做是为了每个应用程序都可以动态分配资源。因此,如果用户加入,它将启动一个新的流缓存,当会话完成时,流缓存会意识到Web sock连接已断开,并自行关闭。在大多数Web应用程序中,标准Web流量仅限于端口80和443 (SSL),并且大多数Web应用程序只想保留其标准端口选项。如果我们要为200个并发用户开放200个端口,我们将开放许多非标准端口,这可能很难让您的IT团队同意。

四、什么是反向代理?

反向代理是客户端和后端服务器或服务之间的中介。因此,当网络请求传入时,反向代理会拦截该连接,然后决定执行某些操作。它可以提供静态内容、重写URL并将流量定向到后端服务器。

在这篇文章中,我们将讨论IP屏蔽或反向代理。如果您正在构建Web架构,我们建议您对反向代理的用途、它们的用途以及您可能使用它们的用途进行一些研究。此外,查看一些常用的软件可能会对您有所帮助。对于此示例,我们将使用nginx。Nginx应用广泛,是一个非常流行的开源工具。我们将使用Docker实例,但Apache可以做到这一点。

五、网络架构

在构建Web架构时,需要考虑多种方法和因素。用例、预期并发用户、数据大小和使用模式都在确定架构方面发挥着作用。评估Azure、Google Cloud和AWS等云服务提供商提供的可用工具非常重要。

要规划架构,建议首先在纸上概述它,然后探索所选云服务提供商提供的工具。负载均衡器、反向代理、容器管理、自动扩展组和Kubernetes是可能发挥作用的一些技术。人们很容易不知所措,因此建议从简单的架构开始,构建概念验证,并根据反馈和使用模式进行调整。

如果您在规划Web架构方面需要帮助,请随时在论坛中发帖或直接联系咨询团队。

六、Web架构示例
看一下这个示例设置。我们有外部用户Janet、Karen和Bradford。

他们通过网络服务器连接到我们的网络应用程序。该网络服务器将通过代理,然后代理将决定我收到的网络连接类型,并在那里做出决定。如果我们使用握手模式,它将通过API访问Web服务器,或者向Web服务器请求已启动且可以连接的服务器的URI。

因此,在这种情况下,我们将在这里连接到Nginx,我们将连接到HOOPS服务器,它将在后端启动流缓存服务器,然后使用需要的URL回复反向代理返回,然后返回,传回我们的Web服务器Web应用程序,然后该应用程序将启动Web工具。同样,它将通过代理连接到后端服务器,以便我们都通过标准端口。

快速说明一下,在我们继续之前,这里的所有内容都被布置为离散组件。今天您将看到我的网络服务器和反向代理是同一个。我们使用Nginx来完成这两件事。您可以在生产中执行此操作,也可以使用Nginx进行路由或使用其他技术进行Web服务器。由你决定。您甚至可能有两个Nginx实例,一个在一台物理机上运行,一个在另一台机器上运行并充当代理。

另外,请注意,我们在此图中使用了两种不同的处理方式。一种是其余握手模式,另一种是Web Socket代理模式。如果我们只是把它写在纸上,那就看起来像这样。因此,我们会让最终用户访问网络服务器,该服务器将访问代理。

在这种情况下,现在我们的反向代理实际上只代理一个端口,它将代理到后端的HOOPS服务器。你甚至不需要这样做。您可以将环服务器端口保持打开状态。在这种情况下,您将打开HOOPS服务器的端口80443和1182,然后您就不需要此处的反向代理。然而,这意味着您的HOOPS服务器对公众开放,这意味着任何人都可以ping或访问该服务器。理想的设置是让所有内容都通过防火墙后面的反向代理,并且只能通过代理访问。

代理的工作原理是直接访问HOOPS服务器,而不是进行REST调用来为我们提供正在运行的流缓存服务器的URL,而是为我启动服务器并直接连接我们。

在本例中,我们代理了两次。我们正在代理来自Web服务器的连接,该服务器将通过一个URL到达HOOPS服务器,供您通过该服务器进行所有连接。HOOPS服务器管理、启动和停止这些,然后通过此处代理连接回Web服务器。

七、练习

在视频的练习中,我们将引导您完成使用Docker、Nginx和HOOPS Communicator构建的示例设置。您还可以在下面的zip文件中找到示例代码。

【虚拟训练】反向代理和HOOPS Communicator

点击查看视频>>https://youtu.be/IbobMZqDYmU

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/690473.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Flutter】包管理(7)Flutter 状态管理 BLoC 从基础到实践

文章目录 一、前言二、BLoC 的基本概念三、在 Flutter 中使用 BLoC四、BLoC 的高级用法五、BLoC 的最佳实践六、购物车应用的实例七、总结一、前言 在 Flutter 开发中,状态管理是一个非常重要的话题。正确的状态管理策略可以使我们的代码更加清晰,更易于维护。 本文将深入探…

【Linux】详解进程控制 ( 再谈进程退出 | 程序替换exec*类型函数 )

再谈进程退出进程程序替换引入程序替换原理有哪些替换函数execl:execlp:execv:execvp:execle: execve: 接续上篇博客 “详解进程控制 ( fork函数 | 写时拷贝 | 进程退出 | 进程等待 )” 再谈进程退出 进程退出会变成僵尸状态,将自己的推出结果写入task_…

芯片等高科技制造业 如何实现安全的跨网数据交换?

芯片是信息产业的基础,一直以来占据全球半导体产品超过80%的销售额,在计算机、家用电器、数码电子、自动化、电气、通信、交通、医疗、航空航天等几乎所有的电子设备领域中都有使用。 所以,对于芯片这种高科技制造业来说,数据的安…

装饰模式(Decorator)

别名 装饰者模式(Wrapper)。 定义 装饰是一种结构型设计模式,允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 前言 1. 问题 假设你正在开发一个提供通知功能的库,其他程序可使用它向用户发送关于重…

Debezium系列之:Debezium 通知

Debezium系列之:Debezium 通知 一、概述二、Debezium 通知格式三、可用的通知四、启用 Debezium 通知五、访问 Debezium JMX 通知六、自定义通知渠道七、配置自定义通知渠道八、Debezium 核心模块依赖项九、部署自定义通知渠道十、配置连接器以使用自定义通知通道 一…

MFC加载3ds模型初步

网上下一个资源,名为 OpenGL三维场景绘制.rar; 看一下它是用MFC和opengl,自己绘制三维场景; 运行一下,有一个exe可以运行; 有一个较新版本的不能运行;这应是缺少VC运行库; 下面单独…

Linux下RPM软件包管理

目录 1、软件包管理介绍1.1、软件包分类1.2、源码包1.3、RPM包 2、RPM包管理-包命名和依赖性2.1、RPM命名规则2.2、RPM包依赖性 3、RPM包管理-安装升级和与卸载3.1、包全名与包名3.2、RPM安装3.3、RPM包升级3.4、卸载 4、RPM包管理-查询4.1、查询是否安装4.2、查询软件包详细信…

Gitlab将本地代码推送到远程空仓库

目录 引言 1、设置Git为源代码管理插件 2、创建Git仓库 3、设置多个远程仓库 引言 如果我们的本地代码想上传到公司内部的服务器,首先我们需要在VS2022中创建Git仓库,然后设置远程仓库的地址,才能将本地代码推送到远端。在远端会根据你本地…

表格式表单-table式from表单-合并行-合并列

效果: 使用【colspan】合并行 和【rowspan】合并列 html: <!-- 添加或修改报告数据库对话框 --><el-dialog :title"title" :visible.sync"open" width"1500px" append-to-body><el-form ref"form" :model"form&q…

Android Jetpack Compose之Checkbox的使用

Android Jetpack Compose 是一个现代化的 UI 工具包&#xff0c;为开发者提供了一种声明式的方式来构建出美观且功能强大的 Android 应用。在本文中&#xff0c;我们将详细介绍其中的一个重要组件——Checkbox。 一. Checkbox 简介 Checkbox 是 Jetpack Compose 中的一个组件&…

STM32单片机(三)第四节:GPIO输入练习2(光敏传感器控制蜂鸣器)

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

一文学会如何使用Docker

Docker常见使用 1、Docker安装 ## 下载阿里源repo文件 $ curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo $ curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo$ yum clean …

详解8种不同类型的防火墙

什么是防火墙&#xff1f; 防火墙是一种监视网络流量并检测潜在威胁的安全设备或程序&#xff0c;作为一道保护屏障&#xff0c;它只允许非威胁性流量进入&#xff0c;阻止危险流量进入。 防火墙是client-server模型中网络安全的基础之一&#xff0c;但它们容易受到以下方面的攻…

选择低代码平台的正确方式

传统开发模式早已不能满足大多数追求效率的企业的要求&#xff0c;低代码平台的出现正是可以缓解相应的开发压力&#xff0c;作为使用者我们更应该擦亮眼睛&#xff0c;选择合适的平台产品&#xff0c;充分利用新技术带来的新价值。小编在以前的文章有介绍过低代码平台应该如何…

php中的双引号与单引号的基本使用

字符串,在各类编程语言中都是一个非常重要的数据类型 网页当中的图片,文字,特殊符号,HTMl标签,英文等都属于字符串 PHP字符串变量用于存储并处理文本, 在创建字符串之后&#xff0c;我们就可以对它进行操作。我们可以直接在函数中使用字符串&#xff0c;或者把它存储在变量中 字…

360手机命令行进入fastboot线刷模式 360手机刷机

360手机命令行进入fastboot线刷模式 360手机刷机 参考&#xff1a;360手机-360刷机360刷机包twrp、root 360刷机包360手机刷机&#xff1a;360rom.github.io 【前言】 因360手机特殊&#xff1b;且因机器情况而异&#xff1b;导致360手机进不去fastboot线刷模式、360手机进…

基于Java+Swing实现坦克大战游戏

基于JavaSwing实现坦克大战游戏 一、系统介绍二、功能展示三、其他系统四、获取源码 一、系统介绍 此系统是使用Java语言实现坦克大战游戏程序&#xff0c;玩家通过连接访问进入游戏&#xff0c;通过操纵坦克来守卫基地&#xff0c;玩家还可以获得超级武器来提升坦克的属性&am…

点云特征描述子概述、PFH描述子提取

1、 6种点云特征描述子简概 NARF&#xff08;Normal Aligned Radial Feature&#xff09;特征点描述子&#xff1a;NARF描述子是一种基于法线对齐的径向特征描述子。它通过将点云表面分割为小的网格单元&#xff0c;并计算每个单元中的法线直方图&#xff0c;从而提取特征。NA…

【网站监控】如何监控自己的网站(接口)

网站监控-如何监控自己的网站 前言一、开始使用1、使用API进行监控数据采集?2、请求参数3、如何查看监控效果? 二、注意点 前端必备工具&#xff08;免费图床、API、chatAI等&#xff09;推荐网站LuckyCola: https://luckycola.com.cn/ 前言 网站接口监控是指对接口的状态进…

Keil为啥比IAR更受欢迎?

关注星标公众号&#xff0c;不错过精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 最近交流群在讨论【选择Keil和IAR的问题】&#xff0c;这就顺便展开来说下。 你可能觉得Keil、IAR这种集成开发环境界面比较古老&#xff0c;又不好用。 但是&#xff0c;这里告诉大…