Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is Firebase Cloud Messaging considered a message broker?

I have a task to implement a message broker at choice in a distributed system. Is Firebase Cloud Messaging considered one?

like image 726
Alexandru Cancescu Avatar asked Dec 24 '22 17:12

Alexandru Cancescu


1 Answers

No. At the very least not identical in a sense, however both are related to interchanging of messages.

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.

The service could be described as a middleware that handles the sending/delivery of the message between the App Server (usually the sender) and the client (the receiver). But for them to communicate accordingly, both the Sender and Receiver must be configured to receive the message itself (i.e. they are the ones that have to adjust to the message).

While a Message Broker is described as:

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.

From the description itself, the message broker could also be considered as a middleware, but it's task is more on transforming/translating/adjusting the message so that it is would be smoothly received by the receiver.

There is also an available list of Message Broker softwares from the Wikipedia page, containing:

  • 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
like image 118
AL. Avatar answered Dec 28 '22 09:12

AL.