Skip to content

api-evangelist/events

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Events (events)

Event-driven APIs catalog. This topic repo documents the landscape of brokers, streaming platforms, schema registries, and the specifications that standardize how events are described, transported, and stored. "Events" is the broader category that contains webhooks (HTTP callbacks) as one delivery surface; the dedicated webhooks repo zooms in on that slice.

URL: Visit APIs.json URL

Run: Capabilities Using Naftiko

Tags

  • Events, Event-Driven, Event Streaming, Messaging, Pub Sub, Brokers, CloudEvents, AsyncAPI, Topic

Timestamps

  • Created: 2026-05-22
  • Modified: 2026-05-22

Landscape

Event-driven APIs are organized along two axes.

The model axis answers "what shape of delivery?"

Model Behavior Canonical implementations
Pub / sub Many-to-many fan-out; every subscriber sees every event. MQTT, NATS core, Azure Event Grid, Google Cloud Pub/Sub.
Queue Point-to-point load balancing; one event consumed by exactly one worker. IBM MQ, RabbitMQ (AMQP 0-9-1), Pulsar shared subscriptions, NATS queue groups.
Stream Durable, ordered, partitioned commit log read by offset; replayable. Apache Kafka, Apache Pulsar, Redpanda, AWS Kinesis, Pub/Sub Lite.

The spec axis answers "what shape is on the wire and what describes it?"

Layer Spec Owner Role
Envelope CloudEvents 1.0.2 CNCF (graduated 2024-01-25) Standard wrapper around any event payload. Required attributes: id, source, specversion, type.
API description AsyncAPI Linux Foundation Describes channels, operations, messages, and protocol bindings the way OpenAPI describes REST.
Payload schema JSON Schema 2020-12 / Avro / Protobuf JSON Schema org / Apache / Google The shape of data inside a CloudEvent. Versioned in a schema registry.
Wire protocol Kafka / AMQP 1.0 / MQTT 5.0 / NATS / STOMP Apache / OASIS / OASIS / Synadia / GitHub Bytes on the wire between producers, brokers, and consumers.

A typical modern event flow looks like this:

Producer  ──CloudEvent────►  Broker  ──CloudEvent────►  Subscriber
   │                         (topic /                          │
   ▼                          channel)                         ▼
Schema Registry  ◄────── compatibility-checked ──────── Schema Registry

Brokers and Streaming Platforms

Open-Source Brokers

Broker Model Protocol Governance Notable
Apache Kafka Stream Kafka Apache Software Foundation "Used by thousands of companies for high-performance data pipelines"; >80% of Fortune 100; KRaft replaces ZooKeeper.
Apache Pulsar Queue + Stream Pulsar binary Apache Software Foundation Multi-tenant by design (tenants / namespaces / topics), layered brokers + BookKeeper, current v4.2.
NATS Pub/sub + Queue Groups NATS / JetStream CNCF Incubating Sub-ms latency single binary; JetStream adds persistence; 30+ community clients.
Redpanda Stream Kafka API Source-available (BSL) C++, no JVM, no ZooKeeper; ships Connect + SQL; Redpanda Cloud.
IBM MQ Queue MQI / JMS / AMQP / MQTT IBM (commercial) Enterprise messaging incumbent; current generation IBM MQ 9.4.

Managed Cloud Buses

Service Model Protocols CloudEvents
AWS EventBridge Pub/sub via buses + point-to-point pipes HTTP push Schema Registry supports OpenAPI / JSONSchema export.
Azure Event Grid Pub/sub (HTTP push & pull) + MQTT broker HTTP, MQTT 3.1.1 / 5.0, MQTT over WS Supports CloudEvents 1.0 natively alongside Event Grid schema.
Google Cloud Pub/Sub Pub/sub gRPC + HTTP, push and pull subscriptions Schemas (Avro, Protobuf), ordering keys, dead-letter topics, snapshot / seek. Pub/Sub Lite is the cheaper partitioned variant.
Confluent Cloud Stream Kafka Built on Kora engine, 120+ pre-built / 90+ fully managed connectors, Tableflow, Confluent Cloud for Apache Flink, 99.99% multi-AZ SLA, runs on AWS / Azure / GCP.

Streaming Analytics SaaS

Service Engine Role
Tinybird ClickHouse Ingest events (HTTP Events API, up to 1,000 req/s; Kafka / S3 / GCS / Snowflake connectors); publish SQL pipes as APIs with sub-second latency.
Materialize Differential dataflow Streaming SQL with incremental view maintenance over Postgres + Kafka CDC sources; materialized views serve as live event streams.

Specifications

CloudEvents

CNCF graduated specification (January 25, 2024). Current version 1.0.2, with 1.0.3-wip in progress.

Required context attributes

Attribute Definition (quoted from spec)
id "Identifies the event. Producers MUST ensure that source + id is unique for each distinct event."
source "Identifies the context in which an event happened." URI-reference.
specversion The version of the CloudEvents specification the event uses. MUST be "1.0".
type "This attribute contains a value describing the type of event related to the originating occurrence."

Optional context attributes: datacontenttype, dataschema, subject, time.

Format bindings: JSON (1.0.2), AVRO (1.0.2), Protobuf (1.0.2); XML and AVRO Compact in working draft.

Transport bindings: HTTP, Kafka, AMQP, MQTT, NATS, WebSockets.

Subprojects: CE SQL (v1.0.0 — query language for CloudEvents), Subscriptions API (working draft), xRegistry (registry / pagination spec, moved out of the spec repo).

AsyncAPI

Linux Foundation specification covering: server, channel, operation, message, schema, binding, application, protocol, and the AsyncAPI document itself. Tooling: Generator, CLI, Studio, parsers in JS / Go / Java / Python / .NET. Acts as the event-driven counterpart to OpenAPI.

Wire Protocols

Protocol Body Standard?
MQTT 5.0 Lightweight pub/sub for IoT; QoS 0/1/2; retained, last-will, persistent session. OASIS standard.
AMQP 1.0 Binary protocol with nodes, links, sessions, frames. OASIS standard + ISO/IEC 19464.
STOMP 1.2 Simple text-oriented protocol, often over WebSockets. GitHub-hosted community spec.
Kafka protocol TCP binary; the de facto streaming wire format. Apache project, not a vendor-neutral standard.
NATS protocol Text protocol over TCP; JetStream adds binary streaming. Synadia / NATS project.

Schema Registries

Registry Backing Artifact types Notes
Confluent Schema Registry Confluent Avro, JSON Schema, Protobuf "Central repository with a RESTful interface ... to define standard schemas." Schema Linking syncs across hybrid / multicloud.
Apicurio Registry Red Hat (Apache 2.0) OpenAPI, AsyncAPI, Avro, JSON Schema, Protobuf, Kafka Connect schema, GraphQL, WSDL, XSD Storage backends: Kafka, PostgreSQL, MSSQL. Current 3.2.4.

Common Properties

Features

Name Description
Pub Sub Messaging Many-to-many fan-out where each subscriber receives a copy of every event.
Queue Messaging Point-to-point distribution where each event is consumed by exactly one worker.
Log Based Streaming Durable, ordered, partitioned commit log read by offset; replayable.
Schema Governance Schema registries version schemas and enforce compatibility so producers cannot break consumers.
CloudEvents Envelope Standard required (id, source, specversion, type) plus optional (datacontenttype, dataschema, subject, time) attributes wrap any payload.
AsyncAPI Description Document channels, operations, messages, and bindings the way OpenAPI documents REST.

Use Cases

Name Description
Microservice Integration Decouple services so producers emit events without coupling to downstream consumers.
Change Data Capture Replicate database changes onto Kafka, Pulsar, or Materialize for downstream consumers.
IoT Telemetry Constrained devices publish readings over MQTT or NATS to cloud gateways such as Azure Event Grid or AWS IoT Core.
Real Time Analytics Stream events into ClickHouse / Pinot / Druid-based platforms (Tinybird, Materialize) for sub-second dashboards.
Event Sourcing Store every state change as an immutable event in a durable log so state can be rebuilt by replay.
Webhook Delivery HTTP-based fan-out from a SaaS to subscriber URLs — the narrowest slice of the event landscape.

Integrations

Name Description
CloudEvents Common envelope adopted across Azure Event Grid, Knative, and most CNCF event-emitting projects.
AsyncAPI API description format used by Postman, Microcks, Apicurio, and many broker dashboards.
Kafka Protocol De facto wire protocol; supported by Confluent Cloud, Redpanda, Aiven, and (via proxies) Azure Event Hubs and Pulsar.
MQTT Native protocol for Azure Event Grid namespaces, AWS IoT Core, HiveMQ, EMQX, and Mosquitto.
Schema Registry Confluent and Apicurio registries plug into Kafka serializers / deserializers in every major language client.

Solutions

Name Description
Open Source Brokers Apache Kafka, Apache Pulsar, NATS, Redpanda Community, and RabbitMQ cover most self-hosted deployments.
Managed Cloud Buses AWS EventBridge, Azure Event Grid, and Google Cloud Pub/Sub provide serverless event delivery within their respective clouds.
Managed Streaming SaaS Confluent Cloud, Redpanda Cloud, Aiven for Kafka, and Tinybird offer fully managed Kafka or ClickHouse with their own consoles, APIs, and SLAs.
Specification Stack CloudEvents (envelope) + AsyncAPI (API description) + JSON Schema / Avro / Protobuf (payload schema) compose into the standards layer brokers and registries implement.

Artifacts

Machine-readable descriptions of the event landscape.

JSON Schema

  • CloudEvent — CloudEvents 1.0 event record (required id / source / specversion / type; optional datacontenttype / dataschema / subject / time; data payload; extension attribute rules).
  • Event Source — Descriptor for an event-emitting topic / channel / bus, with broker, protocol, partitioning, retention, delivery guarantee, ordering scope, CloudEvents source value, schema registry binding, AsyncAPI URL, ownership.
  • Event Subscription — Descriptor for a subscription that consumes events: push / pull / stream delivery, filter expression, retry, dead-letter, consumer group, Pulsar subscription type, MQTT QoS.

JSON-LD

  • Events Context — aligns event vocabulary with schema.org (CloudEvent / EventSource / Broker / Producer / Consumer) and the CloudEvents and AsyncAPI namespaces.

Examples

CloudEvents 1.0 payloads exercising common event shapes:

Vocabulary

  • Events Vocabulary — operational dimension (actors, envelope, storage, protocols, delivery) and capability dimension (models, governance, formats, specifications, personas, workflows), plus broker, registry, and specification indexes.

Notable Absences

  • No single OpenAPI — the "events" topic isn't one API; it's a landscape. Each broker exposes its own management API (Kafka Admin, Pulsar Admin, EventBridge, Event Grid, Pub/Sub) under its own provider repo.
  • No AsyncAPI document at this level — AsyncAPI describes a specific producer / consumer surface; this topic repo points at the spec, not an instance.
  • No commercial pricing or rate-limit artifacts — those belong in the per-provider repos (Confluent Cloud, Redpanda Cloud, EventBridge, Event Grid, Pub/Sub, Tinybird, Materialize).

Relationship to the Webhooks Topic

Webhooks are the narrowest delivery surface inside this landscape — HTTP push from a SaaS to a subscriber URL, almost always one event at a time, almost always without partitioning or replay. The api-evangelist webhooks topic repo zooms in on that surface (subscription management, signing, retry, replay), while this events repo covers the broader category and the brokers / specs that webhook delivery sits inside.

Maintainers

FN: Kin Lane

Email: kinlane@gmail.com

About

An index and topic collection covering event-driven APIs — event streaming platforms, brokers, schemas, AsyncAPI tooling, and the producer/consumer patterns that complement request/response REST APIs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors