我有一个任务,在分布式系统中实现一个消息代理。Firebase Cloud Messaging是其中之一吗?
我有一个任务,在分布式系统中实现一个消息代理。Firebase Cloud Messaging是其中之一吗?
至少在某种程度上不是相同的,但两者都与消息交换有关。
Firebase Cloud Messaging (FCM)是一种常用于推送通知的消息服务:
该服务可以被描述为一个中间件,用于处理消息在应用服务器(通常是发送方)和客户端(接收方)之间的发送/传递。但是,为了使它们能够相互通信,发送方和接收方都必须配置以接收消息本身(即它们必须调整到消息)。推送通知是从后端服务器或应用程序“推送”到用户界面的消息,例如(但不限于)移动应用程序和桌面应用程序。它更加注重用户体验,这与推送技术不同,后者将请求推送到组件之间,例如服务器之间的通信。推送通知的常见场景是客户端应用程序在应用程序用户信息前弹出一条消息,同时伴随警报声。通知有时也可以与图像和超文本链接配对使用。通过与推送通知进行交互,通常会将客户端应用程序带到前台。
从描述本身来看,消息代理也可以被视为一种中间件,但它的任务更多地是转换/翻译/调整消息,以便接收者能够顺利地接收。
维基百科页面上还提供了可用的消息代理软件列表,包括:
- Apache ActiveMQ(阿帕奇ActiveMQ)
- Apache Kafka(阿帕奇Kafka)
- Apache Qpid(阿帕奇Qpid)
- Celery(Celery)
- Cloverleaf (E-Novation Lifeline)(Cloverleaf(E-Novation Lifeline))
- Comverse Message Broker(Comverse Technology)(Comverse技术)
- Enduro/X Transactional Message Queue (TMQ)(Enduro/X事务消息队列(TMQ))
- Financial Fusion Message Broker(Sybase - acquired by SAP in 2010)(Financial Fusion消息代理(在2010年被SAP收购的Sybase))
- JBoss A-MQ(也称为Fuse Message Broker - 企业版ActiveMQ - acquired by RedHat in 2012)(JBoss A-MQ(也称为Fuse Message Broker-企业版ActiveMQ-在2012年被RedHat收购))
- Gearman(Gearman)
- HornetQ (Red Hat)(donated to Apache ActiveMQ community)(HornetQ(红帽公司)(已捐赠给Apache ActiveMQ社区))
- IBM Integration Bus(IBM集成总线)
- IBM Message Queues(IBM消息队列)
- JBoss Messaging(JBoss-已移至HornetQ,现在处于错误修复模式)(JBoss Messaging)
- JORAM(JORAM)
- Azure Service Bus (Microsoft)(Azure服务总线(Microsoft))
- BizTalk Server (Microsoft)(BizTalk服务器(Microsoft))
- NATS (MIT Open Source License, written in Go)(NATS(使用Go编写的MIT开源许可证))
- Open Message Queue(开放消息队列)
- Oracle Message Broker (Oracle Corporation)(Oracle消息代理(Oracle公司))
- QDB (Apache License 2.0, supports message replay by timestamp)(QDB(Apache许可证2.0版,支持按时间戳重放消息))
- RabbitMQ (Mozilla Public License, written in Erlang)(RabbitMQ(使用Erlang编写的Mozilla公共许可证))
- Redis(Redis)-一个开源的内存数据结构存储库,用作数据库、缓存和消息代理。
- SAP PI (SAP AG)(SAP PI(SAP AG))
- Solace Systems Message Router(Solace Systems消息路由器)
- Spread Toolkit(Spread Toolkit)
- Tarantool, a NoSQL database, with a set of stored procedures for message queues(Tarantool,一个NoSQL数据库,带有一组用于消息队列的存储过程)
- WSO2 Message Broker(WSO2消息代理)