了解amqp和良好实践

时间:2015-10-09 17:21:47

标签: javascript node.js api ecmascript-6 amqp

我实际上是通过RabbitMQ学习AMQP协议,我有一些问题。

实际上,我的工作方式是这样的:

  • 我有一个NodeJS API
  • 此NodeJS API使用amqplib(https://github.com/squaremo/amqp.node)连接RabbitMQ
  • 当用户在API上进行身份验证时,我会创建一个频道,将来自/ authentication路由回调的事件发送到正在运行的AMQP客户端,如下所示:

    从amqplib';

    导入amqp

    let connected =(conn)=> {   let channel = conn.createChannel();   channel.then((CH)=> {

    eventEmitter.on('newUser',(user)=>{
      ch.createChannel(user.userName);
    });
    

    }); }

    amqp.connect(' AMQP://用户:通@地址')。然后(已连接);

    / * ... * / eventEmitter.emit(' newUser',{id:1,userName:' MyUserName'});

从0到现在,它非常清楚。

我的问题如下:

  • 如果我的REST API令牌在一段时间后超时(承认我使用OAuth 2协议进行身份验证)该怎么办?

  • 如果我的API和我的amqp客户端不在同一个进程/主机上运行怎么办?他们如何"讨论","交换数据"

  • 如果我要发送数据,接纳5个人,如果我将其发送到5个相关队列,该怎么办?或者它在这个协议中是否存在更好的东西?

  • 将API与amqp客户端紧密结合是件好事吗?

0 个答案:

没有答案