2017-08-19 1 views
-1

J'ai lu des didacticiels et des codes sur les microservices, principalement en Java (je sais que le microservice est indépendant du langage). Mais je ne comprends toujours pas comment concevoir des microservices.Microservices Architectural Design

Par exemple, dans une application de vente, au moins, il a les ressources suivantes:

  • produits
  • clients
  • commandes

Dois-je créer un projet pour chaque ressource ? Disons: produit-service, service à la clientèle, et service de commande. Si je devais utiliser Spring Boot, ceux-ci auraient leur numéro de port respectif - 8080, 8081, 8082.

Qu'en est-il des classes de modèles de domaines - Client, Produit, Commande? Dois-je créer un autre projet et l'importer dans les trois projets?

S'il vous plaît, éclairez-moi. Ajoutez d'autres sujets pertinents si possible.

Merci.

Répondre

1

La granularité des microservices fait l'objet de nombreuses études. certaines expériences pratiques montrent que la division des microservices en fonction du contexte du domaine (pratiques DDD) peut être efficace. comme ce que vous avez fait dans votre exemple, mais décider de la granularité des services dépend de beaucoup d'autres choses. un certain facteur à considérer peut être:

  • taille/nombre d'équipes de développement.
  • consommation matérielle/ressources
  • distribution de l'emplacement du service
  • nombre de communications de service pour gérer une demande
  • Service réutilisabilité (pour éviter le travail répétitif)
  • performances
  • etc

google sur le principe de granularité du service. il y a beaucoup d'autres facteurs à considérer.

+0

Merci pour la réponse rapide. Est-ce que mon exemple nécessite une plus grande quantité/nombre/toutes les mesures des facteurs que vous avez énumérés, ou seulement les plus basiques? –

+0

regardez ce https://github.com/ewolff/microservice un exemple complet de l'architecture de microservices. Il contient un service de catalogue, un service client et un service de commande comme votre exemple. –

+0

et ceci pour l'explication http://meuslivros.github.io/microservices-flexible-software-architectures/text/part0019.html –