Skip to content

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 PublishData Bridge に移動しました。

    EMQX 4.4 の Message Publish モジュール:

    メッセージパブリッシュモジュール
  • EMQX 4.4 の オフラインメッセージ保存 機能は削除されました。

  • EMQX 4.4 の サブスクリプション取得 機能は削除されました。

  • DolphinDB、Lindorm、SAP Event Mesh のデータブリッジはサポートされていませんが、SAP Event Mesh は製品ロードマップに含まれています。

  • リソースタイプとしての EMQX Bridge はサポートされなくなりました。

    EMQXブリッジリソース

共通の非互換変更点

  • SSL 関連の設定オプション(sslcafilekeyfilecertfileverify)は統一された構造と名称に変更されました。例:ssl.cacertfilessl.certfilessl.keyfilessl.verify など。
  • クライアントがトピックをサブスクライブした際に外部データベースに保存されたオフラインメッセージを取得する機能($events/session_subscribed イベントとブリッジルールアクションを通じて)は EMQX 5.1 には存在しません。

機能および設定項目の非互換性

以下は各データブリッジごとの機能および設定項目の変更点です。

Cassandra

設定名 nodesservers に変更されました。

Kafka Producer

  • 変更された設定項目:
    • serversbootstrap_hosts
    • authentication_mechanismauthentication
    • sync_timeoutsync_query_timeout
    • send_buffersocket_opts.sndbuf
    • tcp_keepalivesocket.tcp_keepalive
    • strategypartition_strategy
    • cache_modekafka.buffer.mode
    • バッファモードの列挙値 memory+diskhybrid
    • highmem_dropkafka.buffer.memory_overload_protection
  • EMQX 5.1 に相当機能なし:
    • query_api_versions
    • kafka_ext_headers
  • kafka キーの下にネストされた replayq 関連オプション(例:max_batch_bytes
  • メッセージキーはテンプレート化可能になり、以前のように限定された選択肢ではなくなりました。

Kafka Consumer

  • 変更された設定項目:
    • serversbootstrap_hosts
    • max_byteskafka.max_batch_bytes
    • offset_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+diskhybrid
    • max_total_bytesbuffer.per_partition_limit
    • segment_bytesbuffer.segment_bytes

Redis

設定項目 cmdcommand_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)
    • sqlprepare_statement

MySQL

  • userusername に変更されました。
  • バッチ設定はアクション設定の resource_opts.* に移動しました。
    • enable_batch = true(EMQX 4.4) → resource_opts.batch_size > 1(EMQX 5.1)
    • batch_time は非表示でデフォルトは 0(EMQX 5.1)
    • sqlprepare_statement

MQTT

  • 変更された設定項目:
    • addressserver
    • pool_size{egress,ingress}.pool_size
    • reconnect_intervalresource_opts.health_check_interval
  • EMQX 5.1 に相当機能なし:
    • append
    • mountpoint
  • EMQX 4.4 の disk_cache = on は、EMQX 5.1 の隠し設定オプションである resource_opts.buffer_mode = volatile_offload にやや相当しますが、デフォルトは memory_only です。
  • EMQX 5.1 には RPC MQTT ブリッジの相当機能はありません。
  • アクションの設定項目変更:
    • forward_topicegress.remote.topic
    • payload_tmplpayload

InfluxDB

API v1 と API v2 の両方に共通する変更点:

  • ブリッジ設定項目の変更:
    • hostportserver
    • https_enabledtls_version などの SSL オプション → ssl
  • アクション設定の変更:
    • EMQX 5.1 には int_suffix の相当はなく、型は直接 write_syntax で指定します。
    • measurementtimestampfieldstagswrite_syntax

DolphinDB、Lindorm、SAP Event Mesh

EMQX 5.1 には相当するデータブリッジはありません。

Clickhouse

変更された設定項目:

  • serverurl
  • userusername
  • keypassword

Dynamo

  • EMQX 5.1 には region の相当はありません。
  • payload_template が新たに追加されました。

HStreamDB

  • 設定項目 serverurl に変更されました。
  • EMQX 5.1 に相当するものがない項目:
    • grpc_timeout
    • partition_key
    • grpc_flush_timeout

IoTDB

変更された設定項目:

  • hostrest_portbase_url
  • request_timeoutresource_opts.request_ttl

MongoDB

変更された設定項目:

  • loginusername
  • connectTimeoutMSconnect_timeout_ms
  • rs_set_namereplica_set_name
  • payload_tmplpayload_template

OpenTSDB

syncresource_opts.query_mode = sync に変更されました。

Oracle

userusername に変更されました。

TDengine

変更された設定項目:

  • hostportserver
  • dbnamedatabase

GCP PubSub Producer

非推奨となった設定項目:

  • flush_mode
  • flush_period_ms

RabbitMQ Producer

  • 変更された設定項目:
    • serverhostport
    • payload_tmplpayload_template
    • durabledelivery_mode
  • exchange_type は EMQX 5.1 に相当するものがありません。

RocketMQ

  • EMQX 5.1 に相当するものがない設定項目:
    • namespace
    • strategy
    • key
  • 変更された設定項目:
    • typeresource_opts.query_mode
    • payload_tmplpayload_template