shm_queue

shm_queue 指令为基于 WebAssembly 的 NGINX 模块配置用于进程间通信的共享内存队列。

语法shm_queue name size [max_size];
默认值none
上下文
参数2-3

说明

shm_queue 指令是 NGINX Proxy-Wasm 模块的一部分,便于管理在 NGINX 中运行的 WebAssembly 应用的共享内存。该指令允许你在共享内存中配置 FIFO(先进先出)队列,可用于不同的 NGINX worker 进程之间或 WebAssembly 模块之间的通信。该指令通过允许一个进程产生的数据被另一个进程消费,从而简化工作流程,提升利用共享资源的复杂应用的模块化和性能。

shm_queue 指令接受 2-3 个参数。第一个参数指定队列名,该名称在 NGINX 配置中必须唯一。第二个参数定义队列的大小,用于决定一次能在队列中存储多少消息。可选地,可以提供第三个参数来设置每条消息的最大大小或为编码数据指定自定义设置。如果省略第三个参数,将根据模块的内部配置应用默认最大大小。此灵活性允许开发者根据应用的具体需求调整队列的行为。

配置示例

shm_queue my_queue 1000 256;

确保队列名称唯一,以避免与其他共享资源发生冲突。

妥善管理队列大小以防止溢出,因为超过定义的大小可能导致消息丢失或错误。

使用可选的 max_size 参数时,确保其与要发送的数据大小一致,以防止截断。

← 返回所有指令