The demand for realtime APIs
source link: https://devm.io/api/realtime-api-reduce-complexity
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Looking to 2020 and beyond, the proportion of data produced and consumed in realtime is growing exponentially.
IDC predict that by 2025 1/3 of all data produced globally will be realtime. The engineers and organizations that make up the realtime ecosystem, Ably included, have yet to agree on how we describe the APIs we’re creating and consuming that are powering this growth. The problem is that there are various ways to describe APIs that provide realtime functionality.
API evangelist Kin Lane, and many others, have been writing and talking about these new types of APIs for a while. Event-driven seems to be the most common descriptor. Gartner has adopted the term, stating that by 2020 50 % of all managed APIs will be event-driven. But still today there is no consistency or consensus between what terms like realtime API, event-driven API, or streaming API refer to. Often they’re used interchangeably.
As an engineering team and API provider working on a global pub/sub messaging platform, we work with these ideas everyday. Talking to our users we see the language they use to describe both what we do and what they achieve using our APIs. And we’ve watched discussions around event-driven architecture, webhooks, and streaming data proliferate. Over the years we’ve thought extensively about the best terminology to use and arrived at what we call the Realtime API Family.
Defining realtime
When it comes to realtime in the context of user interaction, it can be defined as a function or interaction perceived as immediate. As a concept in this context then, realtime is easy enough to understand. Ably defines it as anything that happens in under 100ms as this is typically the threshold for perceiving something as happening immediately.
Any API designed such that data flowing from producers to consumers happens in the shortest amount of time possible can therefore be described as realtime.
Ably has settled on realtime API as an umbrella for event-driven, streaming, pub/sub, push, and other APIs. We’ve seen many more than four ways of describing this, but these are the most popular. It’s why we call it the Realtime API Family (Figure 1).
Fig. 1: Realtime API Family
Streaming APIs
A stream is a means of transporting data. Streaming is a consumer pattern that describes how consumers receive events through a stream.
A streaming API will commonly address issues of data integrity with:
- Message ordering – ensure messages are delivered in the order they were published
- Stream ...
Recommend
-
5
How to make realtime APIs with NodeJS and ReactJS using Socket.io Aug 25 ・5 min read...
-
158
This section highlights the realtime resources available for Go developers. Go is a programming language that is particularly well suited for high-performance, realtime web applications. Realtime Go Libraries
-
194
Promviz Promviz is an application that helps you visualize the traffic of your cluster from Prometheus data. It has 2 components: Promviz: retrieves data from Prometheus servers, aggregates them and provides an A...
-
146
Remotery A realtime CPU/GPU profiler hosted in a single C file with a viewer that runs in a web browser.
-
179
Files Permalink Latest commit message Com...
-
181
Chainer_Realtime_Multi-Person_Pose_Estimation This is an implementation of Realtime Multi-Person Pose Estimation with Chainer. The original project is
-
122
go-realtime-collaborative-drawing-app - A simple real-time collaborative drawing app built with Go
-
177
-
154
Android Architecture Components version 1.0.0 has now been released, this means their API’s are now stable and you should be more comfortable with adopting it in your projects. What are Android Architecture Components?
-
131
README in English Previm プレビュー用のVimプラグインです。
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK