6. Why Async APIs ?
6
example: Kafka
Kafka Strengths:
● Real Time Data Pipeline
● High-throughput
● Fault-tolerant
● Low Latency
● Scalability
Kafka Limits:
Kafka is not optimized to provide API consumers with friendly access to real time
data.
Difficult to expose and re-use API oriented tools for Kafka
7. Why Async APIs ?
7
example: Kafka
Kafka Strengths:
● Real Time Data Pipeline
● High-throughput
● Fault-tolerant
● Low Latency
● Scalability
Kafka Limits:
Kafka is not optimized to provide API consumers with friendly access to real time
data.
Difficult to expose and re-use API oriented tools for Kafka
8. What is AsyncAPI ?
AsyncAPI and Open API Spec
8
● AsyncAPI - derived from OpenAPI
● Similarities:
○ Definitions - similar schemas
○ Well-defined set of operations (HTTP methods vs publish/subscribe)
○ Similar security models for web interactions
● Differences
○ Semantic differences between clients (publisher/subscriber vs
client/server)
○ Different concepts (e.g. cookies)
○ Different data payloads
9. Why AsyncAPI ?
Features
9
❖ Being able to describe:
➢ Event-driven microservices
➢ IoT APIs
➢ Streaming APIs
❖ Some supported protocols:
➢ MQTT
➢ AMQP
➢ WebSocket
➢ Kafka
➢ Stomp
➢ NATS
➢ HTTP
➢ JMS
11. REST or ASYNC ?
11
Request-reply vs. event-driven
Synchronous & ephemeral
Low composability
Low tolerance to failure
Best practices evolved as REST
Asynchronous and persistent
Decoupled
Highly composable
High tolerance to failure
Best practices are still evolving
12. REST and ASYNC !
12
Common concerns
● API contracts
○ Differentiated levels of service
○ Security: who can consume what topic, what operation
● Ease of consumption
○ Search a catalog of Topics, labels
○ ‘Try it out’s for data formats
● Monitoring, Analytics
● Monetization
○ What to price?
○ Who does what today?
24. Closing
Takeaway notes
24
▸ Difference between Sync and Async APIs
▸ Objective of AsyncAPI project
▸ Sync and Async APIs can play together
Go out and be part of the community !
https://github.com/strimzi
https://github.com/asyncapi