我实际上是通过RabbitMQ学习AMQP协议,我有一些问题。
实际上,我的工作方式是这样的:
当用户在API上进行身份验证时,我会创建一个频道,将来自/ authentication路由回调的事件发送到正在运行的AMQP客户端,如下所示:
从amqplib';
导入amqplet 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客户端紧密结合是件好事吗?