Files
Olares/docs/zh/developer/develop/mw-integrate-with-rabbitmq.md
Meow33 776848d2e2 docs: add application environment variables (#2577)
* docs: updated installation env vars and runtime values references

* docs: fix content

* docs: update content

* Update table of contents, and refactored docs.

* Fixed capitalization.

* batch update to fix readability

* refactored declarative env var

* Updated translation.

* Updated based on suggestions.

* Updated based on suggestions.

---------

Co-authored-by: yajing wang <413741312@qq.com>
2026-03-05 17:52:22 +08:00

2.9 KiB
Raw Blame History

outline, description
outline description
2
3
了解如何在 Olares 中将你的应用接入 RabbitMQ 服务。

集成 RabbitMQ

通过在 OlaresManifest.yaml 中声明 RabbitMQ 中间件,并将系统注入的配置值映射到容器的环境变量中,即可在应用中使用 Olares 提供的 RabbitMQ 服务。

安装 RabbitMQ 服务

通过应用市场安装 RabbitMQ 服务。

  1. 从启动台打开应用市场搜索“RabbitMQ”。
  2. 点击获取,然后点击安装,并等待安装完成。

安装完成后RabbitMQ 服务及其连接信息将显示在控制面板的中间件列表中。

配置 OlaresManifest.yaml

OlaresManifest.yaml 中添加所需的中间件配置。

  • 使用 username 字段指定 RabbitMQ 用户。
  • 使用 vhosts 字段申请一个或多个虚拟主机vhost。每个 vhost 名称将作为键注入到 .Values.rabbitmq.vhosts 中。

示例

middleware:
  rabbitmq:
    username: rabbitmquser
    vhosts:
      - name: aaa

映射环境变量

在应用的部署 YAML 中,将系统注入的 .Values.rabbitmq.* 字段映射为应用所需的环境变量。

示例

containers:
  - name: my-app
    # RabbitMQ 对应的注入值如下
    env:
      - name: RABBITMQ_HOST
        value: "{{ .Values.rabbitmq.host }}"

      - name: RABBITMQ_PORT
        value: "{{ .Values.rabbitmq.port }}"

      - name: RABBITMQ_USER
        value: "{{ .Values.rabbitmq.username }}"

      - name: RABBITMQ_PASSWORD
        value: "{{ .Values.rabbitmq.password }}"

      # Vhost
      # 在 OlaresManifest 中配置的 vhost 名称例如aaa
      - name: RABBITMQ_VHOST
        value: "{{ .Values.rabbitmq.vhosts.aaa }}"

构建 RabbitMQ 连接 URI

完成环境变量配置后,可以在应用代码中读取这些变量,并构建 RabbitMQ 的连接字符串。

以下是使用环境变量构建 AMQP URL 的示例Go 语言):

// 读取环境变量
user := os.Getenv("RABBITMQ_USER")
password := os.Getenv("RABBITMQ_PASSWORD")
vhost := os.Getenv("RABBITMQ_VHOST")
host := os.Getenv("RABBITMQ_HOST")
portMQ := os.Getenv("RABBITMQ_PORT")

// 构建 AMQP 连接字符串
// 格式: amqp://user:password@host:port/vhost
url := fmt.Sprintf("amqp://%s:%s@%s:%s/%s", user, password, host, portMQ, vhost)

RabbitMQ 变量参考

RabbitMQ 运行时变量会在部署过程中注入到 values.yaml 中。这些变量由系统统一管理,用户无法自行修改。

变量 类型 说明
.Values.rabbitmq.host String RabbitMQ 主机地址。
.Values.rabbitmq.port Number RabbitMQ 端口。
.Values.rabbitmq.username String RabbitMQ 用户名。
.Values.rabbitmq.password String RabbitMQ 密码。
.Values.rabbitmq.vhosts Map<String,String> 请求的虚拟主机集合,按名称为键。
例如申请 myvhost,可通过 .Values.rabbitmq.vhosts.myvhost 获取对应的值。