如何在AWS中部署HOOPS Communicator?Docker容器化策略!

HOOPS Communicator提供了一个软件包和安装程序,使得在服务器上快速设置和转换模型变得简单,无需复杂的配置。尽管这对于演示和评估非常有用,但在生产环境中,客户更倾向于使用更安全、更强大的解决方案,如Docker容器。本文将详细介绍如何使用Docker容器来部署HOOPS Communicator,并探讨其在AWS环境中的集成。

Docker支持

HOOPS Communicator从2020版开始提供了多个Docker模板,这些模板可以在BitBucket存储库中找到。这些模板为HOOPS Communicator的主要组件提供了基础配置,使得用户可以快速构建Communicator映像。

基本配置

要开始使用Docker,首先需要安装Docker,推荐使用docker-install。用户可以通过以下命令将当前用户添加到Docker组中,以便无需root权限即可管理Docker容器:

请注意,这些更改将在下次登录时生效。安装Docker后,用户可以按照以下步骤构建Communicator映像:

  1. 提取从管理帐户门户下载的Communicator包。
  2. 将与Communicator版本相对应的文件夹内容复制到包的根目录中。
  3. 在软件包的根目录中打开一个新的终端。
  4. 通过运行适当的命令来构建Docker文件。

扩展容器

虽然提供的Docker镜像已经可以直接使用,但它们通常需要进一步的定制以更好地集成到工作流程中。常见的修改包括构建与文件存储交互的逻辑,例如在启动SC Streaming Server之前从存储中拉取模型,或者由HOOPS Converter检索和处理源文件,并将处理后的文件推送到文件存储。

HOOPS容器与AWS集成

Docker文件允许HOOPS Converter和Stream Cache Server在CSR和SSR模式下直接使用。本文将指导如何修改和补充这些容器,以便在AWS环境中运行。

HOOPS转换器

HOOPS Converter负责将CAD文件转换为Stream Cache格式,以便在Web Viewer中高效地流式传输和查看。对于大型文件,转换过程可能需要较长时间,超出AWS Lambda的限制。因此,可以利用Elastic Container Service (ECS)来运行容器化的大型文件转换。ECS可以与EC2或Fargate后端一起使用,后者提供了无服务器选项。

在容器内运行转换时,需要编写应用程序代码来执行以下步骤:

  • 从S3对象存储中检索源文件。
  • 运行HOOPS Converter。
  • 使用转换详细信息更新数据库。
  • 将转换结果上传到云存储解决方案,如S3或EFS。

流缓存流服务器

SC流式服务器旨在让用户能够快速与大型CAD模型进行交互。由于查看会话的短暂性,它适合采用不同的容器策略。容器化方法要求在查看会话请求进入服务器时手动启动EC2实例上的容器。为此,可以创建一个安装了Docker运行时的AMI,并在服务器上运行一个Web应用程序来监听和处理查看会话的请求。

在容器内运行SC流式服务器时,需要编写应用程序代码来执行以下步骤:

  1. 从存储解决方案S3或EFS检索流缓存模型。
  2. 启动SC流媒体服务器。
  3. 生成的应用程序将开始代理到容器的传入连接。

通过这种方式,HOOPS Communicator可以在AWS环境中高效地运行,同时保持系统的灵活性和可扩展性。

立即体验HOOPS功能>>http://x7pfmmn259623uby.mikecrm.com/d7EBgIv

相关推荐
林开落L18 分钟前
库制作与原理(下)
linux·开发语言·centos·库制作与原理
wxy31930 分钟前
嵌入式LINUX——————TCP并发服务器
java·linux·网络
Castamere38 分钟前
配置 Linux 终端 (zsh)
linux
蒋星熠1 小时前
C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
网络·c++·人工智能·深度学习·性能优化·系统架构
★YUI★1 小时前
学习游戏制作记录(玩家掉落系统,删除物品功能和独特物品)8.17
java·学习·游戏·unity·c#
CHANG_THE_WORLD1 小时前
# C++ 中的 `string_view` 和 `span`:现代安全视图指南
开发语言·c++
雨落倾城夏未凉1 小时前
9.c++new申请二维数组
c++·后端
谷宇.2 小时前
【Unity3D实例-功能-拔枪】角色拔枪(二)分割上身和下身
游戏·unity·c#·游戏程序·unity3d·游戏开发·游戏编程
雨落倾城夏未凉2 小时前
8.被free回收的内存是立即返还给操作系统吗?为什么?
c++·后端
雨落倾城夏未凉2 小时前
6.new和malloc的区别
c++·后端