Skip to content

manel2r/taller-microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Taller de Microserveis

Arquitectura de Microserveis

Què són els microserveis?

Els microserveis són serveis (Funcionalitat concreta instanciada en un servidor) petits i autònoms. Cadascun d’aquests serveis té una funció determinada.

Els microserveis:

  1. Han de ser modelats sobre el domini de negoci que volem cobrir (Exemple un programa de gestió de tasques per a Alumnes).
  2. Claus en models d'alta disponibilitat i cloud computing (Els servris es poden replicar per adaptar-se a demandes molt altes).
  3. Oculten els detalls de la implememtació (Només solen exposar adreces http amb el verb http adequat)-> http://api.repcamp,com/products (GET)
  4. Permeten la creació de programes complexos mitjatçant la combinació dels mateixos els quals poden ser propis o creats per un tercer (Exemple: Api de Facebook).

Exemple Arquitectura basada en Microserveis

Exemple Arquitectura Microserveis

  1. Usuari demana informació de les películes noves que es projecten a la ciutat on es troba. GET/catalog/cityid -> http://api.catalogmovies.com/catalog/mataro
  2. Aquesta informació es reclama a un servei web (No deixa de ser una funcionalitat allotjada a un servidor web o un servei cloud com AMAZON) en aquest cas a CINEMA CATALOG.
  3. El servei cinema catalog accedeix a la BD que té al seu server i extreu la informació de les películes_> http://api.movieland.com/movies/premieres
  4. El servei cinema catalog reclama informació a un altre servei extern (Un altra funcionalitat allotjada possiblement a un altre server) per extreure quines son les "premieres" i poder enviar-li al usuari del catàleg que té quines son les "premiere//noves".

Restful Webservices

REST (Representational State Transfer) és una arquitectura de programari pensada per sistemes distribuïts basats en hipermèdia, com ara el web (...) s'aprofita el protocol HTTP per tal de desenvolupar aplicacions distribuïdes. (Via viquipèdia)

Verbs http

GET

HTTP GET http://www.appdomain.com/users

Per demanar informació

POST

HTTP POST http://www.appdomain.com/users

Per insertar informació

BODY -> Cos de l'enviament normalment s'envia en JSON

{
    "_id" : "57037ae071df3738ecf2b4d7",
    "companyId" : 102,
    "name" : "Owen Convey",
    "age" : 29,
    "location" : "Barcelona"
  }

PUT

HTTP PUT http://www.appdomain.com/users/57037ae071df3738ecf2b4d7

Per modificar informació d'un registre

BODY -> Cos de l'enviament normalment s'envia en JSON

{
    "_id" : "57037ae071df3738ecf2b4d7",
    "companyId" : 102,
    "name" : "Owen Convey",
    "age" : 29,
    "location" : "Barcelona",

  }

DELETE

HTTP DELETE http://www.appdomain.com/users/57037ae071df3738ecf2b4d7

Per esborrar un registre

Codis de retorn http

  • Si OK-> 200 (OK)
  • Si OK-> 201 (OK-> Creat els registres)
  • Si KO-> 404 (Not / Found No troba el servei)
  • Si KO-> 400 (Bad request // No ho estem cridant bé i falla)
  • Si KO-> 401 (Unauthorized//No autoritzat)
  • Si KO-> 403 (Unauthorized // No permet l'accés)
  • Si KO-> 500 (Internal Error // Error del servei) ...

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published