OSS探訪GitHubでログイン

RabbitMQへAMQP 0-9-1で接続するruntime非依存のasync Rust client

OSS規模スコア 181.8OSS健全度 100
スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
1,237
主要言語
Rust
ライセンス
MIT
リポジトリ最終更新
2026/09/18
ページ内ナビ

概要

LapinはRabbitMQを主対象とするRust向けAMQP 0-9-1 client libraryです。Tokio、Smol、async-global-executorで動作し、connection/channel、queue declaration、publish/consume、ack、TLS、automatic recoveryを提供します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

connection・channel・queue・publish/consumeをasync APIで扱う

AMQP connectionからchannelを作り、queue declaration、basic_publish、basic_consume、ackまでfuturesベースのAPIで構成します。RabbitMQの一般的なpublish/consume flowをRust async codeへ統合できます。

出典:[2]

Tokio/Smol runtimeと複数TLS backendをfeatureで選ぶ

defaultはTokioとrustlsですが、Smolやasync-global-executor、native-tls、OpenSSLもfeatureで選択できます。custom Runtimeを渡す構成も提供されています。

出典:[2][3]

向いている用途

RabbitMQを使うevent-driven backendやworkerに向く

queueを介した非同期処理、event distribution、background worker、service間message transportなどAMQP 0-9-1が必要なRust backendに適します。

出典:[2]

導入前の確認

Rust 1.88以上とrecovery・broker failure時のbehaviorを検証する

Lapin 4.12.0はRust 1.88を要求します。4.xではautomatic recoveryがConnectionPropertiesへ統合され、4.12.0ではconnection.openに対するserver closeでhangする問題が修正されています。broker restartやnetwork断を含むfailure testを行ってください。

出典:[3][4]

参考にした公式資料

  1. [1]amqp-rs/lapin — GitHub repository(2026-10-06)
  2. [2]Lapin 4.12.0 — README(2026-10-06)
  3. [3]Lapin 4.12.0 — Cargo.toml(2026-10-06)
  4. [4]Lapin 4.12.0 — CHANGELOG(2026-10-06)
編集部からの補足

RabbitMQ向けAMQP clientをasync Rustで扱う用途に特化しています。runtimeとTLS backendをfeatureで選べる一方、productionではconnection recoveryとpublisher confirm、consumer ackのfailure pathを明示的にtestする必要があります。

3ステップで試す

  1. 1

    確認済みのLapinを取得する

    Lapin 4.12.0を固定して取得します。Rust 1.88以上が必要です。

    git clone --depth 1 --branch v4.12.0 https://github.com/amqp-rs/lapin.git && cd lapin
  2. 2

    接続先RabbitMQを指定する

    公式exampleと同じdefault AMQP addressを明示します。このaddressでRabbitMQが起動している必要があります。

    export AMQP_ADDR=amqp://127.0.0.1:5672/%2f
  3. 3

    Tokio exampleの接続testを実行する

    公式Tokio exampleに含まれるconnection testを実行し、queue宣言・publish・consume・ack・closeの一連のflowを確認します。

    cargo test --example tokio --features tokio connection -- --nocapture
公式READMEで確認

成長

成長の推移 · 直近30日

1,237 Stars

推移データを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • amqp
  • amqp-client
  • amqp0-9-1
  • async
  • hacktoberfest
  • messaging
  • rust
Stars
1,237
Forks
122
Watchers
8
Open Issues
2
Contributors
43
所有者種別
Organization
主要言語
Rust
ライセンス
MIT
リポジトリ最終更新
2026/09/18

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?
Lapinとは?Rust AMQP/RabbitMQ Clientの特徴 | OSS探訪