web-dev-qa-db-fra.com

Acteurs fiables Azure Service Fabric vs services fiables

Je suis nouveau sur Azure Service Fabric et les plus grandes questions que j'ai

  1. Quand dois-je utiliser des acteurs fiables? Donnez-moi des exemples pratiques s'il vous plaît.
  2. Quand dois-je utiliser des services fiables? Donnez-moi des exemples pratiques s'il vous plaît.
30
spdev

Jetons un œil aux différences:

  • analogie d'état: les acteurs travaillent sur une seule instance d'un graphe objet. Les services ont généralement un état pour plusieurs appelants.
  • Portée: Les acteurs ne peuvent pas travailler seuls, en raison de leur taille (plus comme des objets).
  • Cycle de vie: Les acteurs ne sont actifs que lorsqu'ils sont utilisés, donc plus s'adaptent aux ressources de votre serveur disponibles
  • Concurrence: les acteurs appliquent un accès à un seul thread
  • State: Les acteurs modifient simplement l'agrégat, les services fonctionnent sur des ensembles, donc utilisent souvent des transactions sur des ensembles pour le comportement ACID.
  • Communication: Les acteurs communiquent via les canaux fournis par la plateforme. Les services peuvent en décider autrement.
  • Accès: les acteurs du cluster ne sont pas accessibles de l'extérieur par défaut. Vous aurez probablement besoin d'un service qui vous donne accès.

Exemples quand utiliser un acteur:

  • Pour chaque utilisateur de votre application mobile, vous pourriez avoir un acteur.
  • Pour chaque thermostat qui envoie des informations à votre application, vous pouvez avoir un acteur.
  • Pour chaque client de votre site e-commerce, vous pourriez avoir un acteur du panier d'achat.

Créez un service dans les cas auxquels vous êtes probablement habitué. Créez un service fiable qui fournit un service à plusieurs utilisateurs à la fois. Par exemple un service météo.

22
Pascal Naber

Je ne veux pas utiliser un mot pour se définir, mais n'utilisez des acteurs fiables que si vous avez déterminé que votre problème correspond au modèle de conception de l'acteur. Les acteurs sont un modèle de conception un peu comme la plupart des modèles de conception Gang of Four. Si votre problème correspond à l'un des modèles, utilisez-le. Si ce n'est pas le cas, il est préférable de ne pas essayer de chausse-pied votre problème dans le mauvais modèle.

Dans Service Fabric, les acteurs fiables sont une implémentation du modèle d'acteur virtuel. Il a certaines règles de fonctionnement et des mises en garde qui vont avec. Ceci est un bon doc à lire pour avoir une idée du fonctionnement du framework Reliable Actor et s'il répond ou non à vos besoins: https://Azure.Microsoft.com/en-us/documentation/articles/service -fabric-fiable-acteurs-plateforme /

Les acteurs fiables ne sont en fait qu'un cadre intégré à Reliable Services, donc les mêmes règles de mise à l'échelle, de partitionnement et de distribution s'appliquent.

7
Vaclav Turecek