EMQX 5.1 と EMQX 4.4 間のデータ統合非互換性
EMQX 5.1 ではデータ統合の概念が全面的にアップグレードされました。
以前の Rule -> Action -> Resources のプロセスは Rules -> Data Bridge に変更されました。
EMQX 4.4 では Action のための設定エンティティがありましたが、EMQX 5.1 では特定のルールにアクションを追加する際、まずデータブリッジを作成し、そのブリッジの SQL テンプレートを修正してルールの出力に適合させる必要があります。

Modules -> Message Publish は Data Bridge に移動しました。
EMQX 4.4 の Message Publish モジュール:

EMQX 4.4 の オフラインメッセージ保存 機能は削除されました。
EMQX 4.4 の サブスクリプション取得 機能は削除されました。
DolphinDB、Lindorm、SAP Event Mesh のデータブリッジはサポートされていませんが、SAP Event Mesh は製品ロードマップに含まれています。
リソースタイプとしての
EMQX Bridgeはサポートされなくなりました。
共通の非互換変更点
- SSL 関連の設定オプション(
ssl、cafile、keyfile、certfile、verify)は統一された構造と名称に変更されました。例:ssl.cacertfile、ssl.certfile、ssl.keyfile、ssl.verifyなど。 - クライアントがトピックをサブスクライブした際に外部データベースに保存されたオフラインメッセージを取得する機能(
$events/session_subscribedイベントとブリッジルールアクションを通じて)は EMQX 5.1 には存在しません。
機能および設定項目の非互換性
以下は各データブリッジごとの機能および設定項目の変更点です。
Cassandra
設定名 nodes は servers に変更されました。
Kafka Producer
- 変更された設定項目:
servers→bootstrap_hostsauthentication_mechanism→authenticationsync_timeout→sync_query_timeoutsend_buffer→socket_opts.sndbuftcp_keepalive→socket.tcp_keepalivestrategy→partition_strategycache_mode→kafka.buffer.mode- バッファモードの列挙値
memory+disk→hybrid highmem_drop→kafka.buffer.memory_overload_protection
- EMQX 5.1 に相当機能なし:
query_api_versionskafka_ext_headers
kafkaキーの下にネストされたreplayq関連オプション(例:max_batch_bytes)- メッセージキーはテンプレート化可能になり、以前のように限定された選択肢ではなくなりました。
Kafka Consumer
- 変更された設定項目:
servers→bootstrap_hostsmax_bytes→kafka.max_batch_bytesoffset_reset_policy列挙値:{reset_to_latest, reset_by_subscriber}→{latest, earliest}
- EMQX 5.1 には
pool_sizeはなく、トピックのパーティション数に応じてライブラリが自動的にワーカー数を設定します。 - EMQX 4.4 では認証にプレーン SASL のみ対応していましたが、EMQX 5.1 では Kafka Producer と同じ認証機構がサポートされています。
Pulsar Consumer
EMQX 5.1.0 には Pulsar Consumer は存在しません。
Pulsar Producer
- EMQX 5.1 ではブリッジはドライバーの非同期 API のみを使用してメッセージを生成し、同期 API のオプションはありません。
- メッセージキーにテンプレートが使用可能になりました。以前は限定的な選択肢のみでした。
- 変更された設定項目:
- バッファモード列挙値
memory+disk→hybrid max_total_bytes→buffer.per_partition_limitsegment_bytes→buffer.segment_bytes
- バッファモード列挙値
Redis
設定項目 cmd は command_template に変更されました(3つの Redis モードすべて共通)。
「Cluster」モードの変更点:
- EMQX 5.1 には
databaseフィールドがありません。 - EMQX 5.1 には EMQX 4.4 のオフラインメッセージ用の
ttlに相当するものはありません。
Postgres
- コネクターに差異はありません。
- バッチ設定はアクション設定の
resource_opts.*に移動しました。enable_batch = true(EMQX 4.4) →resource_opts.batch_size > 1(EMQX 5.1)batch_timeは非表示でデフォルトは0(EMQX 5.1)sql→prepare_statement
MySQL
userはusernameに変更されました。- バッチ設定はアクション設定の
resource_opts.*に移動しました。enable_batch = true(EMQX 4.4) →resource_opts.batch_size > 1(EMQX 5.1)batch_timeは非表示でデフォルトは0(EMQX 5.1)sql→prepare_statement
MQTT
- 変更された設定項目:
address→serverpool_size→{egress,ingress}.pool_sizereconnect_interval→resource_opts.health_check_interval
- EMQX 5.1 に相当機能なし:
appendmountpoint
- EMQX 4.4 の
disk_cache = onは、EMQX 5.1 の隠し設定オプションであるresource_opts.buffer_mode = volatile_offloadにやや相当しますが、デフォルトはmemory_onlyです。 - EMQX 5.1 には RPC MQTT ブリッジの相当機能はありません。
- アクションの設定項目変更:
forward_topic→egress.remote.topicpayload_tmpl→payload
InfluxDB
API v1 と API v2 の両方に共通する変更点:
- ブリッジ設定項目の変更:
hostとport→serverhttps_enabledやtls_versionなどの SSL オプション →ssl
- アクション設定の変更:
- EMQX 5.1 には
int_suffixの相当はなく、型は直接write_syntaxで指定します。 measurement、timestamp、fields、tags→write_syntax
- EMQX 5.1 には
DolphinDB、Lindorm、SAP Event Mesh
EMQX 5.1 には相当するデータブリッジはありません。
Clickhouse
変更された設定項目:
server→urluser→usernamekey→password
Dynamo
- EMQX 5.1 には
regionの相当はありません。 payload_templateが新たに追加されました。
HStreamDB
- 設定項目
serverはurlに変更されました。 - EMQX 5.1 に相当するものがない項目:
grpc_timeoutpartition_keygrpc_flush_timeout
IoTDB
変更された設定項目:
host、rest_port→base_urlrequest_timeout→resource_opts.request_ttl
MongoDB
変更された設定項目:
login→usernameconnectTimeoutMS→connect_timeout_msrs_set_name→replica_set_namepayload_tmpl→payload_template
OpenTSDB
sync は resource_opts.query_mode = sync に変更されました。
Oracle
user は username に変更されました。
TDengine
変更された設定項目:
host、port→serverdbname→database
GCP PubSub Producer
非推奨となった設定項目:
flush_modeflush_period_ms
RabbitMQ Producer
- 変更された設定項目:
server→hostとportpayload_tmpl→payload_templatedurable→delivery_mode
exchange_typeは EMQX 5.1 に相当するものがありません。
RocketMQ
- EMQX 5.1 に相当するものがない設定項目:
namespacestrategykey
- 変更された設定項目:
type→resource_opts.query_modepayload_tmpl→payload_template