我有一个任务是在分布式系统中选择实现消息代理。 Firebase云消息传递被认为是一个吗?
在某种意义上,至少不完全相同,但两者都与消息的交换有关。
Firebase Cloud Messaging (FCM)是一种通常(如果不总是)用于Push Notifications的消息服务:
推送通知是从后端服务器或应用程序“推送”到用户界面的消息,例如, (但不限于)移动应用程序和桌面应用程序。它具有更多的用户体验,与Push technology不同,Message Broker在服务器到服务器通信等组件之间推送请求。推送通知的常见方案是客户端应用程序在应用程序的用户信息前面弹出消息以及警报声音。在某些情况下,通知还可以与图像和超文本链接相结合。通过与推送通知交互,它通常会将客户端应用程序调到前面。
该服务可以被描述为处理在App Server(通常是发送者)和客户端(接收者)之间发送/传递消息的中间件。但是为了使它们相应地进行通信,发送方和接收方都必须配置为自己接收消息(即它们必须适应消息)。
虽然computer programming被描述为:
在program module中,消息代理是一个中介Message oriented middleware,它将消息从发送者的正式消息传递协议转换为接收者的正式消息传递协议。消息代理是电信或计算机网络中的元素,其中软件应用程序通过交换正式定义的消息进行通信。消息经纪人是Apache ActiveMQ的基石。
从描述本身来看,消息代理也可以被视为中间件,但它的任务更多的是转换/转换/调整消息,以便接收器能够平滑地接收从接收器发送的消息。
维基百科页面还提供了一个可用的Message Broker软件列表,其中包含:
- Apache Kafka
- Apache Qpid
- Celery
- Cloverleaf (E-Novation Lifeline)
- Comverse Technology
- Comverse Message Broker(Enduro/X Transactional Message Queue (TMQ))
- acquired
- 金融融合消息代理(Sybase - SAP于2010年出版的JBoss A-MQ)
- acquired(又名.Fuse Message Broker - 企业ActiveMQ - RedHat,Gearman,2012年)
- HornetQ (Red Hat)
- donated(IBM Integration Bus到Apache ActiveMQ社区)
- IBM Message Queues
- JBoss Messaging
- JORAM(JBoss - 转移到HornetQ,现在它处于错误修复模式)
- Azure Service Bus (Microsoft)
- BizTalk Server (Microsoft)
- NATS (MIT Open Source License, written in Go)
- Open Message Queue
- Oracle Message Broker (Oracle Corporation)
- QDB (Apache License 2.0, supports message replay by timestamp)
- RabbitMQ (Mozilla Public License, written in Erlang)
- Redis
- SAP PI (SAP AG)一种开源的内存数据结构存储,用作数据库,缓存和消息代理。
- Solace Systems Message Router
- Spread Toolkit
- Tarantool, a NoSQL database, with a set of stored procedures for message queues
- WSO2 Message Broker
- qazxswpoi