Mapa mental
microservices
Contenido del mapa
microservices
definition
- architecture
- breaks code into chunks
- instanciate code as needed
- properties
- architecture
topology
- exists some patterns. 3 are the commonly used
- Elements
- API (gateway)
- acts as a controller, handling and directing request
- locate individual microservices
- can be used to discover services
- message oriented
- interact with other APIS but not directly to microservices
- microservices
- small pieces of code that do only one thing
- know about each other's existence, but not what they do
- receives input from API, other microservice or the back end
- runs its own process
- back end
- dont know anything of API and client
- can be a database, webservice, or any other destination
- should have messaging and logging capabilities
- talks to the API
- Never communicates directly with microservices (encapsulated)
- API (gateway)
- mS communication
- based in IPC (Interprocess communication mechanism)
- first dimension
- one to one
- a single service instance handle the request
- interactions
- request/response (maybe syn)
- notification
- request/response asyn
- one to many
- multiple service instances handle the request
- interactions
- publish/subscribe
- publish/response asyn
- one to one
- second dimension
- synchronous
- asynchronous
- IPC technologies
- http or thrift
- Synchronous
- should be used for external requests
- Synchronous
- AMQP or STOMP
- Asynchronous
- should be used for microservices intercommunication
- Asynchronous
- JSON or XML
- Should be used for external messaging
- Avro or protocol buffer
- http or thrift
disadventages, considerations
- considerations
- distribuited system can be hard to work with
- high complexity because its arch. includes glue elements
- network congestion and latency
- data consistency when passing data between services
- considerations
infrastructure
- open source
- OS
- CoreOS
- Atomic (Red hat)
- Canonical
- VMware
- container
- Docker
- Swarm
- Kubernetes
- Azure
- Service Fabric ( container orchestration)
- each container run in a thread
- monitoring
- prometheus
- ELK
- cAdvisor
- virtualization
- OS
- open source
Netflix
- Open Source Software (OSS)
- main components
- Eurieka
- Service Registry (its just a service which coordinates another mS)
- ensure mS are always reachable
- handles
- self- registration
- thid part registration
- load balancer
- Hystrix
- latency tolereace enforced library
- controls the interactions between microservices
- contains the microservice which is having issues and avoid the propagation
- Ribbon
- client side technology
- reduces the number or hops needed for services to communicate( load balancer)
- handle communication between services
- Zuul Api Gateway
- Mains functions is be the Gateway
- handle over 2 billion request per day
- dinamic route, stress testing,
- Eurieka
- other netflix and 3rd part libraries
- netflix nebula
- is a collection on gradle plugins
- allows package and deploy application faster
- Spinnaker
- multi cloud continous delivery platform
- manages deployment pipelines
- netflix nebula
- main components
- Open Source Software (OSS)
Imágenes y archivos del mapa
Información
- Descripción
- Mapa Mental sobre microservices, creado por Jorge Celis el 06/01/2020.
- Creado por
- Jorge Celis
- Visitas
- 1
- Valoración