Firebase Cloud Messaging 是否被视为消息代理?
Is Firebase Cloud Messaging considered a message broker?
我的任务是在分布式系统中选择实现消息代理。 Firebase 云消息传递被认为是其中之一吗?
没有。至少在某种意义上不完全相同,但是两者都与消息的交换有关。
Firebase Cloud Messaging (FCM) is a messaging service commonly (if not always) used for Push Notifications:
A push notification is a message that is "pushed" from backend server or application to user interface, e.g. (But not limited to) mobile applications and desktop applications. It is more user experience specific which is different from Push technology, which pushes the requests between components such as server to server communication. A common scenario of push notification is the client application pops up a message in front of application's user information, along with the alert sounds. The notification could also coupled with images and hyper text link in some cases. Via interacting with the push notification it usually brings up the client applications to the front.
该服务可以描述为 中间件,它处理应用服务器(通常是发送方)和客户端(接收方)之间的 sending/delivery 消息.但是为了使它们能够相应地进行通信,发送方和接收方都必须配置为接收消息本身(即它们必须根据消息进行调整)。
而 Message Broker 被描述为:
In computer programming, a message broker is an intermediary program module that translates a message from the formal messaging protocol of the sender to the formal messaging protocol of the receiver. Message brokers are elements in telecommunication or computer networks where software applications communicate by exchanging formally-defined messages. Message brokers are a building block of Message oriented middleware.
从描述本身来看,消息代理也可以被视为 中间件,但它的任务更多是 transforming/translating/adjusting 消息,因此它是顺利被接收方接收。
维基百科页面上还有可用的 Message Broker 软件列表,其中包含:
- Apache ActiveMQ
- Apache Kafka
- Apache Qpid
- Celery
- Cloverleaf (E-Novation Lifeline)
- Comverse Message Broker (Comverse Technology)
- Enduro/X Transactional Message Queue (TMQ)
- Financial Fusion Message Broker (Sybase - acquired by SAP in 2010)
- JBoss A-MQ (aka. Fuse Message Broker - enterprise ActiveMQ - acquired by RedHat in 2012)
- Gearman
- HornetQ (Red Hat) (donated to Apache ActiveMQ community)
- IBM Integration Bus
- IBM Message Queues
- JBoss Messaging (JBoss - moved to HornetQ and now it's in bug-fix mode)
- JORAM
- 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 An open source, in-memory data structure store, used as a database, cache and message broker.
- 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
我的任务是在分布式系统中选择实现消息代理。 Firebase 云消息传递被认为是其中之一吗?
没有。至少在某种意义上不完全相同,但是两者都与消息的交换有关。
Firebase Cloud Messaging (FCM) is a messaging service commonly (if not always) used for Push Notifications:
A push notification is a message that is "pushed" from backend server or application to user interface, e.g. (But not limited to) mobile applications and desktop applications. It is more user experience specific which is different from Push technology, which pushes the requests between components such as server to server communication. A common scenario of push notification is the client application pops up a message in front of application's user information, along with the alert sounds. The notification could also coupled with images and hyper text link in some cases. Via interacting with the push notification it usually brings up the client applications to the front.
该服务可以描述为 中间件,它处理应用服务器(通常是发送方)和客户端(接收方)之间的 sending/delivery 消息.但是为了使它们能够相应地进行通信,发送方和接收方都必须配置为接收消息本身(即它们必须根据消息进行调整)。
而 Message Broker 被描述为:
In computer programming, a message broker is an intermediary program module that translates a message from the formal messaging protocol of the sender to the formal messaging protocol of the receiver. Message brokers are elements in telecommunication or computer networks where software applications communicate by exchanging formally-defined messages. Message brokers are a building block of Message oriented middleware.
从描述本身来看,消息代理也可以被视为 中间件,但它的任务更多是 transforming/translating/adjusting 消息,因此它是顺利被接收方接收。
维基百科页面上还有可用的 Message Broker 软件列表,其中包含:
- Apache ActiveMQ
- Apache Kafka
- Apache Qpid
- Celery
- Cloverleaf (E-Novation Lifeline)
- Comverse Message Broker (Comverse Technology)
- Enduro/X Transactional Message Queue (TMQ)
- Financial Fusion Message Broker (Sybase - acquired by SAP in 2010)
- JBoss A-MQ (aka. Fuse Message Broker - enterprise ActiveMQ - acquired by RedHat in 2012)
- Gearman
- HornetQ (Red Hat) (donated to Apache ActiveMQ community)
- IBM Integration Bus
- IBM Message Queues
- JBoss Messaging (JBoss - moved to HornetQ and now it's in bug-fix mode)
- JORAM
- 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 An open source, in-memory data structure store, used as a database, cache and message broker.
- 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