Quelle est la réelle différence entre un API et un microservice?
Je suis en train d'apprendre à propos de microservices et je ne comprends pas ce que la différence réelle
entre la création d'un REST API et la création de microservices?
Je travaille en Aller, mais ma question s'applique sur toutes les langues.
Les Microservices approche est fondée sur la rupture de votre système ("tas de code") en de nombreux petits services, chacun possède généralement son propre:
Clair affaires liées à la responsabilité
Processus en cours d'exécution
Base de données
Code de contrôle de version (par exemple, git) référentiel
API (le protocole de la façon dont les autres services /clients prendra contact avec le Microservice)
De l'INTERFACE utilisateur
Les services eux-mêmes sont conservés petit de sorte que votre système d'évoluer, il y a plus de services, plutôt que les plus grands services.
Microservices pouvez utiliser de REPOS, RPC, ou de toute autre méthode pour communiquer les uns avec les autres, de se REPOSER ou d'une API est vraiment orthogonal au sujet de microservices...
Mais avant d'en créer trois Api, mais je ne comprends pas comment les modifier pour les rendre microservices de ces première question à vous poser est - ce que les problèmes sont à résoudre avec des microservices architecture? Il s'agit d'un outil très spécifique de défis à relever. Un outil qui n'est pas libre. Donc, assurez-vous de comprendre l'outil avant de l'utiliser. Vérifiez par exemple samnewman.io/livres/building_microservices
Donc l'idéal pour une application web pour créer des microservices pour mes problèmes internes, et ce que je veux exposer une API? Si je suis votre question, la réponse est oui. Vous exposez API, qui peuvent être créés avec les microservices architecture. Encore une fois, assurez-microservices sont une bonne architecture pour vous et que vous avez microserivces de la bonne taille (par exemple, pour certains dans le Domaine des Affaires). Vous voudrez peut-être vérifier à certaines présentations de la façon dont Netflix ne microservices, pour voir quelle est la taille de microservices qu'ils utilisent, par exemple, ici nginx.com/blog/...
Microservice est bien définie lorsque vous suivez SOC - séparation des Préoccupations sur l'entité ou du domaine de niveau ,où chaque entité /domaine sont indépendants de tout autre service.
par exemple de l'utilisateur de service ne sera responsable pour le stockage, la mise à jour et la suppression de l'utilisateur informations.
Microservice backend et frontend microservice peut être divisé en 2 parties
frontend microservice qui expose le point de terminaison rest comme API Web
backend microservice qui, en fait, effectuer toutes les opérations.
API Rest est plus de points de terminaison exposés au monde extérieur et peut être utilisé avec des microservices ainsi, comme expliqué ci-dessus.
La majorité des réponses est basée sur l'ancienne école de la compréhension de l'API comme une interface de programmation. Aujourd'hui, ce sens est fondu et commencer à créer de confusion parce que certains développeurs ont commencé (pour la simplicit ou par erreur) interpred l'API de l'application que l'application en soi. Dans de tels cas, il est impossible de distinguer entre le moderne de l'API et de Microservices. Néanmoins, nous pouvons dire que l'API de l'application peut contenir un grand nombre de Microservices, la plupart de qui interagissent dans le cadre de l'application via Microservice Api tandis que d'autres peuvent exposer leurs Api que les Applications de l'Api. Aussi, un Microservice (en tant que service) ne peut pas inclure d'autres Microservices (services), mais peut orchestrer une composition de Microservices via l'API-bases des invocations. Les Applications peuvent contenir des Microservices mais, dans le meilleur des pratiques, ne peuvent pas contenir d'autres Applications.
Un microservice architecture est sur le découpage d'une application logique en petits morceaux ou "composants" qui peut agir entre eux et/ou d'être exposées au travers d'une API.
API
Un (web) d'application nécessaire à la conception de la logique métier avec tout l'ensemble de l'objet entités (modèle) et les opérations possibles sur eux.
Un (Interface de Programmation d'Application][https://en.wikipedia.org/wiki/Application_programming_interface) est une façon de faire les demandes pour une application en exposant spécifique de points d'accès qui sont en charge de l'invocation de l'application appropriée des opérations.
RESTE(ful) Api
("REPOS" comme dans Representational State Transfer) sont des Api respectant au moins ces 5 contraintes:
Interface utilisateur est distincte de stockage de données et la manipulation (architecture Client-Serveur)
Aucun contexte client n'est stockée sur le serveur ("apatrides")
Les réponses du serveur doit, implicitement ou explicitement, se définissent comme pouvant être mis en cache ou pas
Client n'a pas à être au courant des couches entre lui et le serveur
La demande/réponse les messages doivent être: être auto-descriptif; permettre d'identifier une ressource; utiliser des représentations permettant de manipuler les ressources; annoncer les actions et les ressources ("interface Uniforme").
"La vraie différence"
Donc, bien que ces notions sont évidemment liés, ils sont clairement des concepts distincts:
Être Reposante ou pas, un API expose des opérations fournies par un serveur qui peut (mais pas nécessairement) être bombardé en éléments plus petits (microservices).
Aussi, bien que typique du web (REST)API utilise le protocole HTTP entre le client et le serveur, les composants à l'intérieur d'un microservice l'architecture peuvent communiquer à l'aide du protocole(s) (par ex. WAMP, AMQP, JSON-RPC, XML-RPC, SAVON, ...)
En profane du terme, si vous avez un API web serveur et vous diviser en plusieurs mini-serveurs, utilisez un serveur proxy et équilibrage de charge pour clusterize, et, éventuellement, donner à chacun une base de données distincte de l'entité), qui est un microservice architecture.
Les Microservices approche est fondée sur la rupture de votre système ("tas de code") en de nombreux petits services, chacun possède généralement son propre:
Les services eux-mêmes sont conservés petit de sorte que votre système d'évoluer, il y a plus de services, plutôt que les plus grands services.
Microservices pouvez utiliser de REPOS, RPC, ou de toute autre méthode pour communiquer les uns avec les autres, de se REPOSER ou d'une API est vraiment orthogonal au sujet de microservices...
Référence: Qu'est ce qu'une API? En anglais, s'il vous plaît.
première question à vous poser est - ce que les problèmes sont à résoudre avec des microservices architecture? Il s'agit d'un outil très spécifique de défis à relever. Un outil qui n'est pas libre. Donc, assurez-vous de comprendre l'outil avant de l'utiliser. Vérifiez par exemple samnewman.io/livres/building_microservices
OriginalL'auteur Lior Bar-On
API = Interface De Programmation D'Application
Microservices = une architecture
En bref
Vous voudrez peut-être lire http://samnewman.io/books/building_microservices/ avant de vous décider sur l'utilisation de microservices (à moins que ce soit à des fins de formation).
Si je suis votre question, la réponse est oui. Vous exposez API, qui peuvent être créés avec les microservices architecture. Encore une fois, assurez-microservices sont une bonne architecture pour vous et que vous avez microserivces de la bonne taille (par exemple, pour certains dans le Domaine des Affaires). Vous voudrez peut-être vérifier à certaines présentations de la façon dont Netflix ne microservices, pour voir quelle est la taille de microservices qu'ils utilisent, par exemple, ici nginx.com/blog/...
OriginalL'auteur Lech Migdal
Microservice est bien définie lorsque vous suivez SOC - séparation des Préoccupations sur l'entité ou du domaine de niveau ,où chaque entité /domaine sont indépendants de tout autre service.
par exemple de l'utilisateur de service ne sera responsable pour le stockage, la mise à jour et la suppression de l'utilisateur informations.
Microservice backend et frontend microservice peut être divisé en 2 parties
API Rest est plus de points de terminaison exposés au monde extérieur et peut être utilisé avec des microservices ainsi, comme expliqué ci-dessus.
OriginalL'auteur Vijay Parmar
La majorité des réponses est basée sur l'ancienne école de la compréhension de l'API comme une interface de programmation. Aujourd'hui, ce sens est fondu et commencer à créer de confusion parce que certains développeurs ont commencé (pour la simplicit ou par erreur) interpred l'API de l'application que l'application en soi. Dans de tels cas, il est impossible de distinguer entre le moderne de l'API et de Microservices. Néanmoins, nous pouvons dire que l'API de l'application peut contenir un grand nombre de Microservices, la plupart de qui interagissent dans le cadre de l'application via Microservice Api tandis que d'autres peuvent exposer leurs Api que les Applications de l'Api. Aussi, un Microservice (en tant que service) ne peut pas inclure d'autres Microservices (services), mais peut orchestrer une composition de Microservices via l'API-bases des invocations. Les Applications peuvent contenir des Microservices mais, dans le meilleur des pratiques, ne peuvent pas contenir d'autres Applications.
OriginalL'auteur Michael Poulin
Microservices
Un microservice architecture est sur le découpage d'une application logique en petits morceaux ou "composants" qui peut agir entre eux et/ou d'être exposées au travers d'une API.
API
Un (web) d'application nécessaire à la conception de la logique métier avec tout l'ensemble de l'objet entités (modèle) et les opérations possibles sur eux.
Un (Interface de Programmation d'Application][https://en.wikipedia.org/wiki/Application_programming_interface) est une façon de faire les demandes pour une application en exposant spécifique de points d'accès qui sont en charge de l'invocation de l'application appropriée des opérations.
RESTE(ful) Api
("REPOS" comme dans Representational State Transfer) sont des Api respectant au moins ces 5 contraintes:
"La vraie différence"
Donc, bien que ces notions sont évidemment liés, ils sont clairement des concepts distincts:
Être Reposante ou pas, un API expose des opérations fournies par un serveur qui peut (mais pas nécessairement) être bombardé en éléments plus petits (microservices).
Aussi, bien que typique du web (REST)API utilise le protocole HTTP entre le client et le serveur, les composants à l'intérieur d'un microservice l'architecture peuvent communiquer à l'aide du protocole(s) (par ex. WAMP, AMQP, JSON-RPC, XML-RPC, SAVON, ...)
OriginalL'auteur Cédric Françoys
En profane du terme, si vous avez un API web serveur et vous diviser en plusieurs mini-serveurs, utilisez un serveur proxy et équilibrage de charge pour clusterize, et, éventuellement, donner à chacun une base de données distincte de l'entité), qui est un microservice architecture.
OriginalL'auteur LEMUEL ADANE