OSS探訪

MQTT 5.0/3.1.1/3.1 brokerとpub/sub CLI・C/C++ client libraryを提供する軽量messaging server

スコアの見方

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

Stars
11,245
主要言語
C
ライセンス
EPL-2.0 OR BSD-3-Clause
リポジトリ最終更新
2026/09/03
ページ内ナビ

概要

Eclipse MosquittoはMQTT 5.0、3.1.1、3.1を実装するbrokerです。mosquitto_pub/mosquitto_sub等のCLI、C/C++ client library、authentication・ACL・plugin・persistence・WebSockets/TLS等をまとめ、IoTや軽量pub/sub messagingのserverとして利用できます。

特徴と向いている用途

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

主な特徴

MQTT 5.0・3.1.1・3.1のbrokerとしてpub/subを仲介する

Mosquittoは複数MQTT protocol versionのserver implementationを提供し、client間のtopic-based publish/subscribeを仲介します。

出典:[1]

CLIでpublish・subscribe・request/replyを試す

mosquitto_pub、mosquitto_sub、mosquitto_rrが同梱され、brokerやapplicationを作る前にtopic・QoS・connection behaviorをcommand lineから確認できます。

出典:[1]

TLS・WebSockets・persistence・pluginでbrokerを拡張する

build/configurationによりTLS、WebSockets、SQLite persistence、authentication/ACL plugin等を利用でき、listenerごとのpolicyやbridgeも構成できます。

出典:[1][2]

向いている用途

IoT deviceやservice間の軽量pub/sub brokerをself-hostしたい場合に向く

MQTT ecosystemの中心brokerとして、device telemetry、command distribution、local gateway、small service messaging等に適します。

出典:[1]

導入前の確認

外部公開brokerではauthenticationとlistener policyを必ず設定する

引数なし起動はlocal machine限定のanonymous accessで初期test向けです。remote clientを受けるlistenerではauthentication/authorizationを設計し、public anonymous brokerとして安易に公開しないようREADMEが注意しています。

出典:[1]

2.1系のdefault変更とdeprecationをupgrade前に確認する

2.1.0ではmax_packet_size既定値が2,000,000 bytesへ変更され、acl_file・password_file等がplugin方式へdeprecateされています。既存broker configをそのまま更新せずChangeLogを確認します。

出典:[2]

2.1.2はpersistence plugin競合を禁止するpatchを含む

2.1.2はbuilt-in persistenceとpersistence pluginの同時有効化を禁止し、OpenBSDやlinkingのbuild fixも含みます。stable baselineとしてv2.1.2を固定します。

出典:[3][2]

参考にした公式資料

  1. [1]Mosquitto 2.1.2 README(2026-10-04)
  2. [2]Mosquitto 2.1.2 ChangeLog(2026-10-04)
  3. [3]Mosquitto v2.1.2 signed tag(2026-10-04)
  4. [4]Mosquitto dual-license declaration(2026-10-04)
編集部からの補足

local testでは引数なし起動がlocalhost限定anonymous accessになるため試しやすい一方、外部公開時にanonymous accessのまま運用しないでください。2.1系ではmax_packet_size既定値変更やpassword/ACL設定のplugin移行などbehavior/deprecationもあるため、2.0系からのupgrade時はChangeLogを確認してください。

3ステップで試す

  1. 1

    Mosquitto 2.1.2 sourceを取得する

    signed tag v2.1.2へ固定してsourceを取得します。

    git clone --depth 1 --branch v2.1.2 https://github.com/eclipse-mosquitto/mosquitto.git mosquitto-2.1.2
  2. 2

    brokerだけを最小構成でCMake configureする

    broker確認用にTLS/WebSockets/tests/docs/client/apps/pluginsを外し、bundled dependencyを使う最小寄りのbuildを生成します。

    cmake -S mosquitto-2.1.2 -B mosquitto-2.1.2/build -DWITH_TLS=OFF -DWITH_WEBSOCKETS=OFF -DWITH_TESTS=OFF -DWITH_DOCS=OFF -DWITH_CLIENTS=OFF -DWITH_APPS=OFF -DWITH_PLUGINS=OFF
  3. 3

    broker binaryをbuildしてhelpを表示する

    network listenerを起動せず、broker executableがbuildできたことだけを確認します。

    cmake --build mosquitto-2.1.2/build --target mosquitto && ./mosquitto-2.1.2/build/src/mosquitto -h
公式READMEで確認

成長

成長の推移 · 直近30日

11,245 Stars

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

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
112

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

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

GitHub Topics

  • mqtt
  • broker
  • mosquitto
  • eclipse-iot
  • iot
  • messaging
  • mqtt-broker
  • mqtt-client
  • mqtt-server
Stars
11,245
Forks
2,646
Watchers
275
Open Issues
791
Contributors
170
所有者種別
Organization
主要言語
C
リポジトリ最終更新
2026/09/03

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

情報の誤りを報告

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

このページを読んで、次に何をすればよいか分かりましたか?