visit
source: The Next Web First of all, let us be clear that rather than just textual messages like in the example above, I shall refer to any payload of data being sent or received as a ‘message’. Generally, for messages to make sense, they are supposed to be received in the same order as they were sent by the sender. When this does not happen, it is ought to create a lot of confusion and frustration among the users just as you can see in the screenshot above! From a tech perspective, when using a synchronous request and response pattern, this is less of an issue as each subsequent message is sent only after receiving a response from the previously sent message. The complexity arises when considering asynchronous event based systems such as those implementing the Pub/Sub messaging pattern. In such a system, a duplex socket connection is opened up between the subscriber and publisher mostly via a realtime platform. Publishers no longer need to wait for a response but continue sending messages for as long as the connection remains open. Such a functionality of not having to wait for responses naturally comes with great benefits, but whilst messages sent from publishers to the platform are ordered, the second half of this journey, i.e, message ordering from the realtime platform to a subscriber is rarely ensured. Using such a platform rather than trying to implement the complete realtime architecture from scratch is always better as it separates the concerns and lets developers focus on their product with its key business logic without having to worry about complex things like continuity, ordering, latency and integrity of messages to be exchanged within their product. It’s rather easier to rely on services like this which are already being developed, tested and maintained by another group of developers whose focus is just that. is one such realtime platform that uniquely solves this issue in two ways:
A little background - in Ably, messages in it’s realtime library are exchanged through something called ‘channels’. These can be conceptually thought of as pipes to which data is published and received from.
A direct screenshot from Ably’s website highlighting major features Read more about how your messages are delivered in the right order. Or, on Ably and start building your own realtime apps for free!
Serious realtime apps require serious architecture with guarantees beneath them!Thoughts? Claps?