本文へスキップ

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ファイルを作成して利用します。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語