Realtime

From CNM Wiki
Jump to: navigation, search

Realtime (alternatively spelled, real-time; also known as event-driven, instantaneous, live, simultaneous, and streaming) is a concept of immediate communication or making availability of the data that one part of the system receives or produces to the other parts of the system.

Because immediate still always has some lag, this unavoidable lag is known as a real-time constraint. The near real-time, nearly real-time, and nearly instantaneous terms are arbitrarily used to underline a greater lag. As an adjective, realtime refers to communicated, displayed, and/or presented at the same time as events actually happen.


Realtime data, apps, and the ecosystem around them is growing exponentially. But we still can’t agree on how we describe the APIs powering this realtime growth. The problem is that there are various ways to describe APIs that provide realtime functionality. 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. 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.