AsyncAPIとは?
えいしんくえーぴーあい
AsyncAPIとは、イベント駆動型・非同期通信のAPIを記述・定義するためのオープン標準仕様で、Kafka・WebSocket・MQTTなど非同期プロトコルに対応したOpenAPIの非同期版と言える規格です。
AsyncAPI(アシンクAPI)とは、非同期・イベント駆動型のAPIインターフェースを機械可読な形式で記述するためのオープン仕様(specification)です。REST APIの定義標準であるOpenAPI(Swagger)がHTTPリクエスト/レスポンス型の同期APIを対象としているのに対し、AsyncAPIはメッセージキューやイベントストリームなど非同期通信プロトコルを対象としています。
AsyncAPIがサポートする主な通信プロトコルには以下があります。
- Apache Kafka(大規模ストリームデータ処理)
- AMQP(RabbitMQなど)
- MQTT(IoTデバイス通信)
- WebSocket(リアルタイムWeb通信)
- NATS・SNS・SQSなど
AsyncAPIドキュメントはYAMLまたはJSON形式で記述され、チャンネル(トピック)・メッセージのスキーマ・サーバー情報・発行(publish)/購読(subscribe)の関係などを定義します。このドキュメントをもとにコード生成・ドキュメント自動生成・テスト自動化などを行うツール群がエコシステムとして整備されています。
マイクロサービスアーキテクチャやIoTシステムでは非同期メッセージングが多用されるため、チーム間の仕様共有やAPI管理にAsyncAPIが活用されています。2019年にLinux Foundationに加わり、業界標準として普及が進んでいます。
使い方・例文
マイクロサービス間でKafkaを使ったイベント通知の仕様を定義する際や、IoTデバイスのMQTTメッセージ構造をドキュメント化する際にAsyncAPIファイルを作成して利用します。
この用語をシェア
最終更新: