What is Faye?
Faye is a publish/subscribe messaging protocol that is built on the Bayeux protocol, a messaging system utilized for transporting asynchronous messages over HTTP.
Asynchronous messaging is when clients connect to a messaging platform and exchange data bidirectionally. When they exchange data, participating clients need only to subscribe to the particular message to receive the data. The data gets queued in such a way that there is no structure as to when clients choose to receive it. With Faye, this system allows the real-time streaming of data from client to server, as well as vice versa, and even allows the modification of that data by any client. After the modification, Faye updates and notifies all clients who have subscribed to that connection.
Faye itself is a messaging system that enables asynchronous messaging. In this connection, there are no patterns or rules as to when clients send and receive data. Clients simply subscribe to a Topic, enabling them to send, receive, and modify data when they choose from that specified topic. The messaging structure of Faye can be further understood as:
- Faye Server: Directs all messages and defines a uniformed messaging system.
- Publishers: Applications that work to tag each messaging group with a Topic.
- Subscribers: Applications that choose the Topics to receive data from.
Optimal Faye Use Cases
- Private and group chat
- Instant notifications and alerts
- Multiplayer gaming
- Maps and geotracking