考虑一个实时应用程序,其中Web客户端与某个实体X建立持久连接。
我们这里可能的选项是:
|=Backend=
(client) ----------|-(web server)-----------(messageq)------> process message
| ^--backchannel connection
|=Backend=
(client) ----------|-(messageq)------> process message
|
这里推荐的最佳做法是什么?消息队列在标准企业体系结构中位于何处?另外,如果您知道最佳做法,请分享您如何学习该信息(哪些资源/书籍包含此知识?)。谢谢。
答案 0 :(得分:0)
当客户端是网络浏览器时:
让我做一些问答,以此来回答您的问题
问题1:我们是否将应用程序数据库公开给我们的客户端,以便进行简单的读取操作?
A1 :否,我们想控制向客户公开的内容
第二季度:基于第一季度,向客户端公开消息传递队列是否有意义?
A2:不,出于与A2相同的原因。
当消息传递队列暴露给WebClient时:
问题1:如果需要将消息队列提供者从Rabbit-Mq更改为Kafka,会发生什么?
A1 :旧的移动应用程序将损坏。为了与新队列兼容,需要更改Web客户端。 (不良体系结构)
第二季度:有人可以在同一个消息队列中同时点击另一个主题/队列吗?
A2 :是(不良体系结构)
当客户端是另一项服务时:
使用共享消息队列的服务间通信是许多应用程序用于异步通信的模式。