Bloque4-Tema2-MicroServicios Flashcards

1
Q

Que es Domain Driven Design(DDD)

A

Representa distintas claves, terminologia y patrones utilizados para desarrollar software donde el dominio es lo mas central e importante de una determinada organizacion.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Que es Bounded Context?

A

división lógica donde un problema de negocio y su solución están totalmente definidas / the boundary within a domain where a particular domain model applies.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Que tipos de comunicación existen en microservicios?

A

Bloqueo Síncrono: Hago una petición, y me quedo esperando la
respuesta, bloqueando mi ejecución.

Asíncrono
– Petición-Respuesta

– Dirigido por eventos: Tengo suscriptores a ese ‘topic’ que reaccionan, usando el evento y su información para iniciar su trabajo.

– Datos compartidos: Puede ser un fichero en un recurso compartido (NAS, Volumen, S3) Puede ser un registro en una BBDD

Pagina 21 de GSI de los apuntes si quieres ver imagen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Que es gRPC?

A

Framework de llamada a
procedimiento remoto open
source que se utiliza para la
comunicación de alto
rendimiento entre servicios:
- Comunicación eficiente
- Contract First
- Políglota
- Dúplex Streaming

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Que son los Protocol Buffers?

A

Los Protocol Buffers, también conocidos como protobuf, son un formato binario que facilita el almacenamiento e intercambio de datos en aplicaciones​.

es una infraestructura de Google para serializar de forma eficaz objetos para su transferencia, normalmente entre puntos finales de red.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Diferencias gRPC vs Rest

A

Pagina 27 de apuntes GSI

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Que es GraphQL?

A

Permite a los clientes definir consultas basadas en esquemas, que pueden residir en múltiples fuentes (como microservicios)

Es un lenguaje de consulta y un tiempo de ejecución del servidor para las interfaces de programación de aplicaciones

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Que es un resolver en GRAPHQL?

A

son simplemente funciones que responden a las consultas, quizás trayendo los datos de una base de datos, de un arreglo o de otro servicio.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Qué es una mutación en GraphQL?

A

Una mutación queda definida como una operación que provoca cualquier tipo de cambio en el estado del servidor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Que son los brokers de mensajes?

A

Son intermediarios entre los
microservicios para una
comunicación asíncrona:

-Entrega garantizada
-Confianza

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Que brokers de mensajes conoces?

A

-Apache Kafka(Confluent es la version de pago)
-RabbitMQ
-Google Cloud Pub/Sub (modo nube)
-Apache ActiveMQ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

En microservicios, que es la API Gateway?

A

Puerta de entrada a los microservicios, pero aislándolos del exterior.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

En microservicios, que es un Service Mesh?

A

-Una red de servicios es una capa de infraestructura dedicada para facilitar las comunicaciones de servicio a servicio entre servicios o microservicios mediante un proxy.
– Esta responsabilidad se elimina de los microservicios

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Que es Istio?

A

Istio: Es una malla de servicios (service mesh). centralizada las peticiones de los proxys. Se utiliza para controlar el intercambio de datos entre las distintas partes de una aplicación. En realidad el service mesh seria Istio + Envoy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Que es Ribbon?

A

Ribbon: balanceo de peticiones en cliente /balanceador de carga.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Que es Zuul?

A

API gateway, centraliza la lógica de acceso a una serie de microservicios. Punto de entrada.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Que es Eureka?

A

Servidor para registro de microservicios y metadatos sobre los mismos.

18
Q

Que es Hystrix?

A

Librería para la gestión de errores en cascada utilizando el patron Circuit breaker

19
Q

Que cuatro tecnologias usa SpringCloud?

A

Ribbon, Zuul, Eureka, Hystrix.

20
Q

Que es el patron de diseño sidecar proxy?

A

Implementa componentes de una aplicación en un proceso o contenedor independientes para proporcionar aislamiento y encapsulación. Este patrón también puede habilitar las aplicaciones compuestas de tecnologías y componentes heterogéneos. El producto concreto se llama Envoy.

21
Q

A nivel de ServiceMesh que es la abstraccion?

A

Abstrae a los desarrolladores de los problemas de arquitectura de los microservicios

22
Q

A nivel de ServiceMesh que es la centralizacion?

A

Se crea un punto centralizado para controlar las funciones de los microservicios en una aplicación
Productos: Istio, Linkerd

23
Q

A nivel de ServiceMesh que es la trazabilidad?

A

Centralizamos y mostramos trazas asociadas con una sola solicitud entre múltiples servicios
Productos: Elasticsearch, JAEGER y ZIPKIN SERVER.

24
Q

A nivel de ServiceMesh que es la observabilidad?

A

Observaciones y telemetría sobre nuestros microservicios.

Productos: Prometeus(Genera metricas), Grafana, Kiali

25
Q

A nivel de ServiceMesh que es la Seguridad?

A
  • Cifrado
  • Autenticación
  • Autorizaciones de
    comunicación
26
Q

Cuales son los 5 principios de un serviceMesh?

A

Abstraccion, centralizacion, trazabilidad, observabilidad, seguridad.

27
Q

Cuales son los 5 principios de un serviceMesh?

A

Abstraccion, centralizacion, trazabilidad, observabilidad, seguridad.

28
Q

Que es ACID?

A

Atomicidad, Consistencia, Aislamiento y durabilidad.

29
Q

Que es el patron CQRS?

A

Separa de CRUD la parte de R(Read) de la parte de CUD(Create, Update, Delete)

30
Q

En transacciones distribuidas, que es 2PC?

A
  • Two-Phase Commits, tiene dos fases:

– Fase de voting (El coordinador preguntan si estan listos para hacer commit)
– Fase de commit (El coordinador va diciendo que hagan commit)

31
Q

Que es SAGA?

A

Algoritmo que coordina múltiples cambios en estados, pero evitando bloquear recursos por largos periodos de tiempo.

  • Separamos una LLT (Long lived transaction) en una secuencia de transacciones independientes
  • Si hay fallos podemos: – Reintentar o Hacer Rollback
    Se gobierna con un Orquestador o un Coreógrafo
32
Q

Que es una transaccion compensatoria?

A

Si he añadido 5, en vez de hacer un rollback, lo que hago es añadir -5

33
Q

Que frameworks conoces para hacer microservicios?

A

-Java: Spring Boot, Micronaut, Quarkus, Helidon
-Python: Flask, Nameo, CherryPy
-NodeJS(V8)
- .NET

En jakarta hay un profile para hacer microservicios: Microprofile.

34
Q

Que aplicaciones conoces de orquestacion?

A

Docker SWARM y Kubernetes.

35
Q

Que es la idempotencia?

A

“Es la propiedad de realizar una acción determinada
varias veces y aún así conseguir el mismo resultado
que se obtendría si se realizase una sóla vez

36
Q

Que son los bulkheads?

A

Barreras o protecciones que se sitúan entre los componentes y protegen sus recursos de manera que la falla de un componente no afecte a otro

-Cuotas a nivel de CPU/RAM/persistencia
– Cuotas de uso de APIs
– Rate Limit peticiones (DoS)

37
Q

Que es el Circuit breaker?

A

Es un patrón de diseño utilizado en el desarrollo de software. Es utilizado para detectar fallos y encapsula la lógica para prevenir que un fallo se repita constantemente.

38
Q

Que es FaaS(Function as a service)?

A

Es un tipo de servicio de cloud computing que permite que los desarrolladores diseñen, ejecuten y gestionen paquetes de aplicaciones como funciones sin tener que ocuparse del mantenimiento de su propia infraestructura.

39
Q

Que es Kaas?

A

Kubernetes as a service. Servicio de orquestacion de contenedores en la nube. Creas contenedores desde respositorios de imagenes, y la infraestructura de contenedores es administrada por el proveedor de servicios de comunicaciones(CSP). Amazon AKS, Google GKS, Azure KS.

40
Q

Que es Spinnaker?

A

Is a free and open-source continuous delivery software platform originally developed by Netflix

41
Q

Que tipos de test conoces?

A

-Unitarios (TDD): Ccomprobar el correcto funcionamiento de las unidades individuales más pequeñas de los programas informáticos .

-Servicio: Probamos el microservicio como un todo.

-End-to-End: Probamos el sistema completo.

42
Q

Que es el back-off exponencial

A

Es un algoritmo que utiliza la retroalimentación para disminuir multiplicativamente la tasa de algún proceso, con el fin de encontrar gradualmente una tasa aceptable.