MultiCastモデルおよびPoint-To-Pointモデルの運用(コンシューマの接続状態によるイベントデータ受信)についての相違点を以下に説明します。
■MultiCastモデル
サプライヤがイベントチャネルにイベントデータを送信した際、イベントチャネルに対して接続しているすべてのコンシューマに同一のイベントデータが送信されます。イベントチャネルへの送信時に、接続していないコンシューマには、イベントデータは送信されません。
シーケンス1
以下のシーケンスでは、コンシューマはイベントデータを受信できます。
コンシューマは、イベントデータを受け取るため、イベントチャネルに対して接続します。
サプライヤは、イベントデータをイベントチャネルに送信します。
イベントチャネルでは、イベントデータを蓄積します。
イベントチャネルに接続しているコンシューマが、イベントチャネルに蓄積されているイベントデータを取り出す要求を出します。
イベントチャネルは、蓄積されているイベントデータを取り出して送信し、コンシューマが受信します。
シーケンス2
以下のシーケンスでは、コンシューマはイベントデータ1を受信できません。コンシューマが接続された後のイベントデータ2は、受信できます。
サプライヤは、イベントデータ1をイベントチャネルに送信します。
イベントチャネルでは、イベントデータ1を蓄積しようとしますが、接続しているコンシューマが存在しないため、イベントデータ1は破棄されます。
コンシューマは、イベントデータを受け取るため、イベントチャネルに対して接続します。
イベントチャネルに接続しているコンシューマが、イベントチャネルに蓄積されているイベントデータを取り出す要求を出します。しかし、イベントデータ1は破棄されているため、待ち状態に入ります。
サプライヤは、イベントデータ2をイベントチャネルに送信します。
イベントチャネルでは、接続しているコンシューマが存在するため、イベントデータ2を蓄積します。
イベントチャネルは、蓄積されているイベントデータ2を取り出して送信し、コンシューマが受信します。
■Point-To-Pointモデル
サプライヤがイベントチャネルにイベントデータを送信した際に、コンシューマは、イベントチャネルに対して接続する必要はありません。サプライヤがイベントチャネルにイベントデータを送信した後に接続しても、コンシューマはイベントデータを受信できます。
シーケンス1
以下のシーケンスでは、コンシューマはイベントデータ1およびイベントデータ2を受信できます。
サプライヤは、イベントデータ1をイベントチャネルに送信します。
イベントチャネルでは、接続しているコンシューマが存在していないが、イベントデータ1を蓄積します
コンシューマは、イベントデータを受け取るため、イベントチャネルに対して接続します。
イベントチャネルに接続しているコンシューマが、イベントチャネルに蓄積されているイベントデータを取り出す要求を出します。
イベントチャネルは、蓄積されているイベントデータ1を取り出して送信し、コンシューマが受信します。
サプライヤは、イベントチャネルにイベントデータ2を送信します。
イベントチャネルでは、イベントデータ2を蓄積します
イベントチャネルに接続しているコンシューマが、イベントチャネルに蓄積されているイベントデータを取り出す要求を出します。
イベントチャネルは、蓄積されているイベントデータ2を取り出して送信し、コンシューマが受信します。