如何解决向Web客户端公开消息传递队列?
考虑一个实时应用程序,其中Web客户端与某个实体X建立持久连接。
我们这里可能的选项是:
- 与Web服务器的连接,然后Web服务器将消息发送到消息队列。
在这种情况下,实体X等于某个Web服务器,然后该Web服务器将该消息转发到消息队列。
|=Backend=
(client) ----------|-(web server)-----------(messageq)------> process message
| ^--backchannel connection
- 直接连接到消息队列。
在这种情况下,Web客户端直接连接到消息队列端点并推送消息。
|=Backend=
(client) ----------|-(messageq)------> process message
|
这里推荐的最佳做法是什么?消息队列在标准企业体系结构中位于何处?另外,如果您知道最佳做法,请分享您如何学习该信息(哪些资源/书籍包含此知识?)。谢谢。
解决方法
当客户端是网络浏览器时:
让我做一些问答,以此来回答您的问题
问题1:我们是否将应用程序数据库公开给我们的客户端,以便进行简单的读取操作?
A1 :否,我们想控制向客户公开的内容
第二季度:基于第一季度,向客户端公开消息传递队列是否有意义?
A2:不,出于与A2相同的原因。
当消息传递队列暴露给WebClient时:
问题1:如果需要将消息队列提供者从Rabbit-Mq更改为Kafka,会发生什么?
A1 :旧的移动应用程序将损坏。为了与新队列兼容,需要更改Web客户端。 (不良体系结构)
第二季度:有人可以在同一个消息队列中同时点击另一个主题/队列吗?
A2 :是(不良体系结构)
当客户端是另一项服务时:
使用共享消息队列的服务间通信是许多应用程序用于异步通信的模式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。