Ecosyste.ms sponsors
An open API service aggregating public data about GitHub Sponsors.
An open API service aggregating public data about GitHub Sponsors.
Funding Links: https://github.com/sponsors/asyncapi, https://opencollective.com/asyncapi
We're on a mission to standardize message-based communication and increase interoperability of the different types of messaging systems available.
The messaging world is full of schema formats and protocols. Some of us prefer to use a combination of Google's protobuf with AMQP, or Avro with Kafka, or Avro with MQTT, or protobuf with MQTT, … you guessed it.
In production systems, it's common to find REST APIs, GraphQL APIs, and message-driven APIs working together. All of them serving as different interaction layers for the same data/operations. REST is usually defined using the OpenAPI specification, GraphQL has its own built-in schema language, and message-driven APIs now have AsyncAPI.
AsyncAPI is a common language for all the different protocols and schema formats, but we need to make it easy for developers to create new message-driven systems, in their programming language of choice. A quick calculation takes us to 120 possible combinations, assuming we create tooling for 6 programming languages (e.g., Java, Node.js, Go, Python, PHP, and Ruby), 4 schema formats (OpenAPI schemas, JSON Schema, Protobuf, and Avro), and 5 protocols (AMQP 0-9-1, AMQP 1.0, MQTT, Kafka, and WebSockets). We know it's a huge challenge, but we accept it 💪
REST APIs have OpenAPI. Messaging has AsyncAPI.
The AsyncAPI specification allows you to create machine-readable definitions of your asynchronous APIs.
Language: JavaScript - Stars: 4302Use your AsyncAPI definition to generate literally anything. Markdown documentation, Node.js code, HTML documentation, anything!
Language: JavaScript - Stars: 770React component for rendering documentation from your specification in real-time in the browser. It also provides a WebComponent and bundle for Angular and Vue
Language: TypeScript - Stars: 188AsyncAPI parser for Javascript (browser-compatible too).
Language: TypeScript - Stars: 120Java Spring Cloud Stream template for the AsyncAPI Generator
Language: JavaScript - Stars: 32This template generates a server using your AsyncAPI document. It supports multiple different protocols, like Kafka or MQTT. It is designed in the way that generated code is a library and with it's…
Language: JavaScript - Stars: 40