Firebase Cloud Messaging是否被认为是消息代理?

6

我有一个任务,在分布式系统中实现一个消息代理。Firebase Cloud Messaging是其中之一吗?

1个回答

13

至少在某种程度上不是相同的,但两者都与消息交换有关。

Firebase Cloud Messaging (FCM)是一种常用于推送通知的消息服务:

推送通知是从后端服务器或应用程序“推送”到用户界面的消息,例如(但不限于)移动应用程序和桌面应用程序。它更加注重用户体验,这与推送技术不同,后者将请求推送到组件之间,例如服务器之间的通信。推送通知的常见场景是客户端应用程序在应用程序用户信息前弹出一条消息,同时伴随警报声。通知有时也可以与图像和超文本链接配对使用。通过与推送通知进行交互,通常会将客户端应用程序带到前台。

该服务可以被描述为一个中间件,用于处理消息在应用服务器(通常是发送方)和客户端(接收方)之间的发送/传递。但是,为了使它们能够相互通信,发送方和接收方都必须配置以接收消息本身(即它们必须调整到消息)。
消息代理则被描述为:
计算机编程中,消息代理是一种中介程序模块,用于将来自发送方的消息转换为接收方的正式消息协议。消息代理是电信或计算机网络中的元素,软件应用程序通过交换明确定义的消息进行通信。消息代理是面向消息的中间件的构建块。

从描述本身来看,消息代理也可以被视为一种中间件,但它的任务更多地是转换/翻译/调整消息,以便接收者能够顺利地接收。

维基百科页面上还提供了可用的消息代理软件列表,包括:


很棒的回答。Firebase云消息传递是否有任何无法实现的消息代理特定功能? - Alexandru Cancescu
感谢您,Alexandru。与消息代理相比,FCM服务完全不同。根据您需要转换的消息,您的实现可能非常广泛,我不认为FCM可以用于此。 - AL.
FCM似乎无法像消息队列一样将消息传递给N个订阅者中的其中之一。将消息传递给一组消费者中的其中一个,用于动态负载均衡消费者组。 - Hans Jespersen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接