回答

3

不是。从某种意义上说,至少不是相同的,然而两者都与消息的交换有关。

Firebase Cloud Messaging (FCM)通常是一个消息服务(如果不是总是)用于Push Notifications

推送通知是“推送”从后端服务器或应用程序的用户界面,例如一个消息(但不限于)移动应用程序和桌面应用程序。这是更多的用户体验不同于Push technology,它推动组件之间的请求,如服务器到服务器通信。推送通知的一种常见情况是客户端应用程序在应用程序的用户信息前弹出一条消息以及警报声音。在某些情况下,通知还可能与图像和超文本链接相结合。通过与推送通知进行交互,它通常会将客户端应用程序带到前台。

该服务可被描述为一个中间件处理该应用程序服务器(通常是发送者)和客户端(接收器)之间的消息的发送/递送。但是为了让他们相应地进行通信,发送者和接收者都必须配置为自己接收消息(即它们是必须适应消息的消息)。

虽然Message Broker被描述为:

computer programming,一个消息代理是中介program module从发送者的正式消息传送协议向接收器的正式消息传送协议转换的消息。消息代理是电信或计算机网络中的元素,软件应用程序通过交换正式定义的消息进行通信。消息代理是​​3210的构建块。

从描述本身,消息中间件也可以被视为一个中间件,但它的任务更多的是对转化/翻译/调整消息,以便从接收器发送的消息,将顺利由接收器接收的

还有从维基百科页面的Message Broker软件的可用列表,包含:

  • 的Apache ActiveMQ的
  • 阿帕奇卡夫卡
  • Apache的Qpid
  • 芹菜
  • 立交桥( E-Novation生命线)
  • Comverse Message Broker(Comverse Te chnology)
  • 耐力赛/ X事务消息队列(TMQ)
  • 金融融合消息代理(的Sybase)
  • 保险丝消息代理(企业的ActiveMQ)
  • 的Gearman
  • HornetQ的(红帽)
  • IBM集成总线
  • IBM消息队列
  • 的JBoss Messaging(JBoss的)
  • JORAM
  • 微软Azure服务总线(微软)
  • 微软的BizTalk Server(微软)
  • NATS(MIT开源许可,写在围棋)
  • 开放式消息队列
  • Oracle消息代理公司(Oracle Corporation)
  • QDB(Apache许可证2.0,支持时间戳消息重放)
  • 的RabbitMQ(Mozilla公共许可,Erlang编写)
  • Redis的一个开源的,存储器内数据STR ucture store,用作数据库,缓存和消息代理。
  • SAP PI(SAP AG)
  • Solace系统消息路由器
  • 传播工具包
  • Tarantool,一个NoSQL的数据库,与一组用于消息存储过程队列
  • WSO2消息代理
+0

很好的答案。 Firebase云消息无法实现任何Message Broker特定功能吗? –

+0

谢谢亚历山德鲁。与消息代理相比,FCM服务*完全不同*。根据你需要*变换*的信息,你的实现可能是巨大的,我不明白FCM如何被使用。 –

+0

FCM似乎无法像传递消息队列一样向N个订阅者中的一个订阅者发送。向消费者群体中的消费者的动态负载平衡使用到一组消费者中的一个消费者的动态负载平衡。 –