npm 包 egg-amqp 使用教程

阅读时长 4 分钟读完

简介

egg-amqp 是一个 RabbitMQ 的 Egg.js 插件, 可以用来连接和订阅 RabbitMQ, 异步的处理消息队列中的任务。通常,用 RabbitMQ 来处理消息队列, 会是我们架构分布式系统中必不可少的一步。在 Egg.js 中,egg-amqp 会帮助我们处理 RabbitMQ。

安装

你可以使用 npm 来安装 egg-amqp, 如下所示:

安装后,可以通过 egg-amqp 插件中间件便可轻松的使用 RabbitMQ。

用法

  1. 首先,在配置中添加相应的配置(不同的开发环境不同的配置):
-- -------------------- ---- -------
-- ------------------------

------------ - -
  -------- -
    -- -------
    -------- -
      -- ----
      ---- ------------------------
      -- -------- ------- --
      -------- -
        -- ------ ------- ------------
        -- ----------------- -------
        -------- -----
      --
      -- --------
      -------------- -
        -- ----------------
        ------- -
          -- -------------
          --------- -------
          -- --------
          ------ -
            ---------- -----
          --
          -- ---------
          -------- ----- - ---- -- -- -
            ------------------------------------
            -- ----
            --------------
          --
        --
      --
    --
  --
--
  1. 之后, 在 app.js 启用 middleware:
  1. 最后在具体的 api 中使用
-- -------------------- ---- -------
-- --------------------------
---- --------

----- ---------- - --------------------------

-- ---
----- ------------------ ------- ---------- -
  ----- --------- -
    ----- - --- - - -----
    ----- ------- - -------------------------
    -- ----
    ----- ---------------------- -------- -
      ----------- ------
      ----------- -----
    ---

    -------- - - ------- --------- --
  -

  -- ---
  ----- --------- -
    ----- - --- - - -----

    ----- ------------------------ ----- ------------- -
      ----- ------------
      --------------------------------- ------- -------- ----------------------------
      -- ------
      ------------------
    ---

    -------- - - ------- --------- --
  -
-

-- --
-------- --------- -
  ------ --- --------------- -- ------------------- -----
-

-------------- - -------------------

这将使该 controller 变成一个生产者, 可以发送消息。另外, 利用 async subprocess()await, 我们变成了一个消费者,可以异步的处理消息。

结语

以上就是 egg-amqp 插件的使用教程, 还是非常简单易用的。希望能对刚刚接触 RabbitMQ 的小伙伴们有所帮助。如果您以前一直使用 AMQP,那么如果接受以下的异步编程转变,您肯定会喜欢这种暴露出 Promise 对象的API.

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005671a81e8991b448e370d

纠错
反馈