Utilisez NCacheMessagerie de pour le partage de données d'exécution

De nos jours, de nombreuses applications doivent partager des données entre elles au moment de l'exécution de manière asynchrone. De plus, les bases de données relationnelles ne fournissent pas de mécanisme efficace de notification d'événements et leurs performances et leur évolutivité constituent une préoccupation majeure.

Les files d'attente de messages fournissent des messages séquencés et garantissent la livraison des messages, mais elles présentent également des problèmes de performances et d'évolutivité.

La meilleure façon consiste à utiliser une plate-forme de messagerie de type bus de messages, rapide et évolutive, qui assure également une coordination du partage de données de type producteur/consommateur. NCache est un cache distribué extrêmement rapide et évolutif et fournit également une capacité de messagerie de type bus de messages simple et puissante.

Avec NCache messagerie, vous pouvez effectuer les opérations suivantes :

  1. Événements au niveau du cache : NCache peut informer les clients de l'ajout, de l'insertion et de la suppression de tout élément dans le cache ou si le cache est vidé, si le client a manifesté son intérêt à recevoir de tels événements.
  2. Événements au niveau de l'objet : NCache peut informer les clients de la mise à jour d'un article spécifique et le supprimer si le client a enregistré un intérêt pour celui-ci.
  3. Événements de requête continue : NCache peut surveiller un ensemble de données dans le cache en fonction de critères de type SQL, puis informer les clients de l'ajout, de la mise à jour et de la suppression d'éléments de cet ensemble de données aux clients qui ont enregistré un intérêt pour celui-ci.
  4. Événements personnalisés initiés par l'application : Les applications peuvent déclencher des événements personnalisés dans NCache bus de messages afin que d'autres applications qui ont enregistré un intérêt pour eux puissent être notifiées.
NCache Messagerie pour le partage de données d'exécution

Toutes les applications (qu'elles soient .NET ou Java) connectées à NCache peut l'utiliser comme plate-forme de messagerie et propager des événements à travers elle à d'autres applications. Ou, ils peuvent demander au cache de les avertir lorsque certaines choses se produisent dans le cache.

Événements au niveau du cache

Les événements au niveau du cache sont déclenchés chaque fois que quelque chose est ajouté, mis à jour ou supprimé ou si le cache est effacé du cache. Par défaut, ces événements sont désactivés car ils peuvent devenir très bavards. Mais, vous pouvez activer tout ou partie d'entre eux dans la configuration du cache, puis demander à votre application de fournir des fonctions de rappel pour NCache so NCache appelle ces rappels lorsque ces événements se produisent. Vous trouverez ci-dessous le type de rappels que vous pouvez enregistrer.


  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);
                                  

Événements au niveau de l'objet

Ces événements sont déclenchés lors de mises à jour ou de suppressions d'éléments spécifiques, mais uniquement si un ou plusieurs clients ont enregistré des rappels pour eux. Vous trouverez ci-dessous les événements et les rappels que vous pouvez enregistrer.


  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);

Requête continue

La requête continue est une fonctionnalité puissante de NCache qui vous permet d'enregistrer une requête de type SQL avec le cache et également de spécifier pour quels événements souhaitez-vous que vos rappels soient appelés par NCache.

NCache crée ensuite une requête continue dans le cluster de cache et surveille toutes les opérations d'ajout, de mise à jour et de suppression pour voir si elles modifient les éléments mis en cache correspondant à ces critères de requête continue. Si oui, alors NCache en informe votre application cliente.

Vous trouverez ci-dessous les événements auxquels vous pouvez vous inscrire.


  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);
 

Événements personnalisés initiés par l'application

NCache permet à vos applications de se coordonner avec d'autres dans un scénario producteur/consommateur ou publication/abonnement. Une application produit des données, puis déclenche un événement personnalisé dans NCache messagerie et une ou plusieurs applications attendent de recevoir cet événement.

Voici comment votre application s'enregistre pour recevoir ces événements personnalisés.


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

Et voici comment votre application déclenche cet événement personnalisé dans NCache Messagerie.


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

Que faire ensuite?

© Copyright Alachisoft 2002 - . Tous droits réservés. NCache est une marque déposée de Diyatech Corp.