第七十七章 Apache 注意事项 (UNIX® Linux macOS) - 状态感知会话(保留模式 1)

第七十七章 Apache 注意事项 (UNIX® Linux macOS) - 状态感知会话(保留模式 1)

在多个工作进程之间分配负载的 Web 服务器中对状态感知会话的支持依赖于进程间通信 (IPC) 协议来管理各个工作进程之间的请求路由。在此 Web 服务器体系结构中运行时,Web 网关无法控制哪个工作进程处理任何特定请求。

Web 网关使用 UNIX® 域套接字作为其 IPC 协议,下面描述了支持状态感知会话的方法。

例如,考虑一个 Web 服务器安装,将其负载分布在 3 个工作进程上:P1P2P3。每个工作进程可以根据 Web 服务器 MPM 和使用的配置启动任意数量的线程(T1、T2 … Tn)。

假设应用程序请求将其会话标记为状态感知(保留模式 1),并且 Web 网关在进程 P2 中确认此指令。现在私有 IRIS 进程的连接和(安全上下文)由 Web 服务器工作进程 P2 托管。该用户/会话的所有进一步请求现在必须由工作进程 P2 处理。但是,Web 网关无法控制 Web 服务器将后续请求路由到哪个工作进程,因此 Web 网关必须在 P2 和(可能)集中的任何其他工作进程之间建立 IPC 通道。

Web GatewayP2 中将连接标记为状态感知时,它会在单独的分离线程中启动侦听服务。对于日志级别 v2,事件日志中将写入类似于下图所示的消息。

IPC Server 
Process ID: 28457 Listening on Domain Socket: /tmp/csp28457.str

现在,假设工作进程 P3 处理对同一会话的进一步请求。 Web 网关通过先前建立的 IPC 通道将该请求转发到处理 P2,并等待响应。对于日志级别 v2,会记录类似于以下所示的消息:

Route request over IPC to another web server process
PrivateSession=2; pid_self=28456; ipc_to_pid=28457; 

当然,如果会话请求恰好由 Web 服务器直接路由到 P2,则在 Web 网关环境中不需要进一步路由,因为 P2 托管会话的专用连接。

如果 Web 网关无法连接并将请求转发到先前创建的 IPC 通道,则会根据引发错误的上下文记录以下消息之一:

IPC CLIENT: Error
Cannot connect
IPC CLIENT: Error
Cannot send request

该领域出现问题的最常见原因是 Apache 是否关闭(或回收)了工作进程(在本例中为 P2)。当然,进程可能会崩溃(例如,出现访问冲突/SIGSEGV 错误),在这种情况下,Apache 错误日志中可能会报告错误消息。

默认情况下,Apache 还会定期回收工作进程。

如果使用状态感知会话,请按如下方式配置安装来配置 Apache,使其不会回收工作进程。

  • MaxConnectionsPerChild 的值设置为零
  • MaxSpareThreads 的值设置为与 MaxRequestWorkers 相同的值

如果无法阻止 Apache 定期回收进程(可能是由于模块故障)并且必须使用状态感知会话,则可以使用基于 NSD 的网关配置。基于 NSD 的架构避免了上述问题,因为它有效地将 Web 网关的进程管理与 Web 服务器分开。在 Microsoft Windows 上使用 NSD 和在 UNIX®LinuxmacOS 上使用 NSD 介绍了使用 Web Gateway 网络服务守护程序 (NSD) 的选项。

相关推荐

  1. Apache 注意事项 (UNIX® Linux macOS)

    2024-05-12 06:20:11       14 阅读
  2. 锁定 Apache (UNIX® Linux macOS)

    2024-05-12 06:20:11       10 阅读
  3. Apache (UNIX® Linux macOS) 的替代选项

    2024-05-12 06:20:11       10 阅读
  4. 使用 NSD (UNIX® Linux macOS)

    2024-05-12 06:20:11       12 阅读
  5. 模板

    2024-05-12 06:20:11       17 阅读
  6. 模板

    2024-05-12 06:20:11       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-12 06:20:11       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-12 06:20:11       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-12 06:20:11       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-12 06:20:11       20 阅读

热门阅读

  1. 自动驾驶技术:现状、挑战与前景

    2024-05-12 06:20:11       9 阅读
  2. Debian常用命令

    2024-05-12 06:20:11       13 阅读
  3. Linux下非常实用的asla卡录音小程序

    2024-05-12 06:20:11       9 阅读
  4. 大数据数据采集 Apache-Flume 笔记

    2024-05-12 06:20:11       9 阅读
  5. HTML/CSS3

    HTML/CSS3

    2024-05-12 06:20:11      8 阅读
  6. Spark读取Hive数据或文件如何提升速度的优化思路

    2024-05-12 06:20:11       9 阅读
  7. ConcurrentHashMap并发安全的实现

    2024-05-12 06:20:11       14 阅读
  8. SSH(安全外壳协议)简介

    2024-05-12 06:20:11       11 阅读
  9. 盛邦安全拟战略收购卫星通信加密厂商天御云安

    2024-05-12 06:20:11       12 阅读
  10. 使用python将多张图片转为一个PDF

    2024-05-12 06:20:11       13 阅读
  11. centos追加扩容整块磁盘容量

    2024-05-12 06:20:11       8 阅读
  12. CentOS Linux 7 一键安装和卸载docker & docker-compose

    2024-05-12 06:20:11       9 阅读