当前位置: 首页>后端>正文

第三章 Web 网关支持的配置

[toc]

第三章 Web 网关支持的配置

本页概述了 Web 网关支持的配置,该网关负责 Web 服务器和 IRIS 之间的通信 — 特别是与 Web 应用程序和管理门户之间的通信。

注意 IRIS 提供专用 Web 服务器(Apache 的最小版本),其唯一目的是运行管理门户。对于任何生产系统,必须安装和配置受支持的 Web 服务器之一,其中任何一个都更安全、更健壮。

支持的配置

在开发过程中,Web 服务器、Web 网关和 IRIS 实例可能位于一台计算机上。在大规模部署中,可能有多个 Web 服务器和多个 IRIS 实例,全部位于不同的计算机上。每个 Web 服务器都需要一个专用的 Web 网关。单个 Web 网关可以与多个 IRIS 实例进行通信。

IRIS 网关注册表使能够监控和管理连接。所有 Web 服务器安装和 Web Gateway 安装在连接时都会向 IRIS 注册。注册表包含允许 IRIS 代码与连接的 Web Gateway 安装进行交互的基础结构,以便读取和写入配置以及监视系统状态和 Web Gatewa 事件日志。

支持的Web服务器

可以在生产环境中将以下 Web 服务器与 Web Gateway 结合使用:

  • 微软Windows
    • 微软IIS。连接选项包括默认的 IIS 选项以及 IIS 7 或更高版本的多个替代选项。
    • 阿帕奇。连接选项包括默认的 Apache 选项和 Windows Apache 的几个替代选项。
    • Nginx
  • Linux、UNIX?macOS
    • 阿帕奇。有多种连接选项可供选择:默认的 Apache 选项、NSD、锁定的 Apache Web 服务器以及其他几种非典型的 Apache 配置。
    • Nginx

注意:此列表不包括专用 Web 服务器,该服务器不适用于生产系统。

Web GatewayMicrosoftApacheNginx Web 服务器提供高性能连接解决方案。除了这些解决方案之外,所有受支持的操作系统都可以通过 CGI 连接到 IRIS

Microsoft Web 服务器支持多线程 API,允许以动态绑定库的形式对 Web 服务器的核心功能进行扩展。当前版本的 Web 网关充分利用这些 API,以便为 IRIS 系统带来高性能的 Web 连接。 Windows 版本的 Apache 也以专门的多线程模式运行,因此也可以利用作为动态绑定库实现的 Web Gateway

ApacheUNIX? 版本在架构上与基于 Microsoft WindowsWeb 服务器不同,因为它们并非完全是多线程的。 Apache 2.4 版是使用由线程和多个进程组成的混合模型来实现的。在此模型中,每个 UNIX? 进程本身就是一个有效的多线程服务器。

Apache Web 服务器除了支持作为 CGI 模块实现的扩展之外,还发布专有的 API。可以通过用户定义的模块(编译的 C 程序)向 Apache 添加额外的功能。事实上,Apache 的很大一部分核心功能都是作为一组模块实现的。可以通过两种方法之一将模块添加到 Apache。首先,模块的源代码可以直接编译到 Apache 核心中。此选项可以说提供了最佳性能,但不幸的是,涉及重新配置和重建 Web 服务器。作为直接将模块源构建到 Apache 核心的替代方案,Apache 1.3 版及以后版本支持作为动态链接库实现的扩展。该工具允许利用 Apache 模块的高性能,而无需将模块物理构建到 Apache 的核心中。 CSP 模块作为 Windows 动态链接库 (DLL) 和 UNIX? 动态共享对象 (DSO) 进行分发。 UNIX? 共享对象在概念上类似于 Windows 动态链接库 (DLL),并在运行时链接。在现代操作系统上,运行时链接到库所涉及的开销非常低。

与其他 Web 服务器不同,Nginx 基于异步事件驱动架构。在事件驱动架构中,通知或信号用于标记每个单独操作的启动和完成。这种设计的结果是,在处理 Web 请求时,可以暂时释放资源并供其他操作使用。资源可以动态分配和释放,并且仅在实际需要时与 Web 请求的处理相关联。这可以实现内存和 CPU 的高度优化使用。该体系结构的异步特性导致线程同时执行而不会相互阻塞,从而进一步增强了资源共享,否则这些资源可能与等待阻塞操作的线程相关联。 Nginx 提供了一个 API,允许将扩展(例如 CSP)添加到其核心功能中。然而,与其他Web服务器不同的是,扩展模块必须在编译时内置到Web服务器核心中。 Nginx 不支持动态加载扩展模块。

还提供了一种替代架构,其中 Web 网关的功能作为独立的可执行文件实现,在其自己的进程中运行,并且不直接连接到 Web 服务器。此版本的 Web Gateway 称为 NSD。在此背景下,NSD 负责提供 Web 网关的核心功能并维护与 InterSystems IRIS 的持久连接。 Web 服务器通过小模块与 NSD 进行通信,这些模块有两种类型:适用于托管 Web 服务器的专有 API 的模块和作为 CGI 可执行文件实现的模块。因此,在需要通过 CGI 标准扩展 Web 服务器的情况下,或者在需要将 Web 网关的功能与托管 Web 服务器的功能分离的情况下,可以使用基于 NSD 的体系结构。


https://www.xamrdz.com/backend/3jg1941821.html

相关文章: