NCacheランタイムデータ共有のためののメッセージング

今日の多くのアプリケーションは、実行時に非同期で相互にデータを共有する必要があります。また、リレーショナル データベースには効率的なイベント通知メカニズムが備わっておらず、そのパフォーマンスとスケーラビリティが大きな懸念事項となっています。

メッセージ キューは順序付けされたメッセージを提供し、メッセージ配信を保証しますが、パフォーマンスとスケーラビリティの問題もあります。

最良の方法は、高速かつスケーラブルで、プロデューサー/コンシューマー スタイルのデータ共有調整も提供するメッセージ バス スタイルのメッセージング プラットフォームを使用することです。 NCache は、非常に高速でスケーラブルな分散キャッシュであり、シンプルで強力なメッセージ バス スタイルのメッセージング機能も提供します。

NCache メッセージングでは、次のことができます。

  1. キャッシュレベルのイベント: NCache クライアントがそのようなイベントの受信に関心を持っている場合は、キャッシュ内のアイテムの追加、挿入、および削除について、またはキャッシュがクリアされた場合にクライアントに通知できます。
  2. アイテムレベルのイベント: NCache 特定のアイテムの更新についてクライアントに通知し、クライアントがそのアイテムに関心を登録している場合は削除できます。
  3. 連続クエリイベント: NCache SQLのような基準に基づいてキャッシュ内のデータセットを監視し、このデータセットからのアイテムの追加、更新、および削除について、関心を登録しているクライアントにクライアントに通知できます。
  4. アプリケーションが開始するカスタムイベント: アプリケーションはカスタムイベントを発生させることができます NCache メッセージバスに関心を登録している他のアプリケーションに通知できるようにします。
NCache ランタイムデータ共有のためのメッセージング

接続されているすべてのアプリケーション(.NETまたはJava) NCache メッセージングプラットフォームとして使用し、イベントを他のアプリケーションに伝播できます。 または、キャッシュで特定のことが発生したときに通知するようにキャッシュに要求することもできます。

キャッシュレベルのイベント

キャッシュレベルのイベントは、何かが追加、更新、または削除されたとき、またはキャッシュがキャッシュからクリアされたときに発生します。 デフォルトでは、これらのイベントはかなりおしゃべりになる可能性があるため、オフになっています。 ただし、キャッシュ構成でそれらの一部またはすべてを有効にしてから、アプリケーションにコールバック関数を提供させることができます。 NCache so NCache これらのイベントが発生すると、これらのコールバックを呼び出します。 登録できるコールバックの種類は次のとおりです。


  CacheEventListener listener = new CacheEventListener();
  EnumSet<EventType> _eventType = EnumSet.noneOf(EventType.class);
  
  _eventType.add(EventType.ItemAdded);
  _eventType.add(EventType.ItemUpdated);
  _eventType.add(EventType.ItemRemoved);
	
  CacheEventDescriptor descripter = _cache.addCacheDataModificationListener(listener,
                                    _eventType, EventDataFilter.None);
                                  

アイテムレベルのイベント

これらのイベントは、特定のアイテムの更新または削除時に発生しますが、XNUMXつ以上のクライアントがそれらのコールバックを登録している場合に限ります。 以下は、登録できるイベントとコールバックです。


  CacheEventListener listener = new CacheEventListener();
  EnumSet<EventType> _eventType = EnumSet.noneOf(EventType.class);

  _eventType.add(EventType.ItemUpdated);
  _eventType.add(EventType.ItemRemoved);

  _cache.addCacheDataModificationListener ("Key:1", listener,
                                           _eventType, EventDataFilter.None);

連続クエリ

連続クエリはの強力な機能です NCache これにより、SQLのようなクエリをキャッシュに登録し、コールバックを呼び出すイベントを指定することもできます。 NCache.

NCache 次に、キャッシュクラスターに連続クエリを作成し、すべての追加、更新、および削除操作を監視して、この連続クエリ基準に一致するキャッシュアイテムを変更するかどうかを確認します。 もしそうなら、 NCache クライアントアプリケーションに通知します。

登録できるイベントは以下のとおりです。


  ContinuousQuery cQuery1 = new ContinuousQuery(qry, indexTable);
  ContinuousQueryListener cqListener = new ContinuousQueryListener();
  EnumSet _eventType = EnumSet.noneOf(EventType.class);

  _eventType.add(EventType.ItemAdded);
  _eventType.add(EventType.ItemUpdated);
  _eventType.add(EventType.ItemRemoved);

  cQuery1.addDataModificationListener(cqListener, _eventType,
                                      EventDataFilter.DataWithMetaData);
 

アプリケーションが開始するカスタムイベント

NCache アプリケーションがプロデューサー/コンシューマーまたはパブリッシュ/サブスクライブシナリオで他のアプリケーションと調整できるようにします。 XNUMXつのアプリケーションがデータを生成してから、カスタムイベントを発生させます NCache メッセージングとXNUMXつ以上のアプリケーションがこのイベントの受信を待機しています。

これらのカスタムイベントを受信するためにアプリケーションを登録する方法は次のとおりです。


  public void OnApplicationEvent(object notifId, object data)
	{
	  ...
	} 
  _cache.CustomEvent += new CustomEventCallback(this.OnApplicationEvent);
  

そして、これがあなたのアプリケーションがこのカスタムイベントをどのように発生させるかです NCache メッセージング。


  _cache.RaiseCustomEvent("NotificationID", DateTime.Now);
 

次はどうする?

お問い合わせ(英語)

電話
©著作権 Alachisoft 2002 - . All rights reserved. NCache はダイヤテック株式会社の登録商標です。