Smells Architetturali Flashcards

1
Q

Cosa sono smells architetturali?

A

Decisioni che hanno impatto negativo sul ciclo di vita del sistema

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

Tipologie errori di design

A

Ogni microservizio deployabile in modo indipendente
horizontal scalability
Fallimenti non isolati
Decentralizzazione

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

Errori di deployablitiy

A

multiple services
in one container :
- Soluzione: Dividi ogni service in un container apposito

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

Errori di horizontal scalability

A
  • Puntamento a microservizio specifico
    Soluzioni:
    1) Service discovery 55 %
    2) Message router come load balancer 31%
    3) Message broker come message queue 14 %
  • Non utilizzo di API gateway (vengono richiamati dall’esterno direttamente services)
    Soluzione: aggiungi Api Gateway
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Errori di isolamento degli errori

A
  • wobbly service interaction (errori da parte di microservizi richiamati innescano errore anche nel chiamante)
    Soluzioni:
    add Message broker 16 %
    add Circut breaker 42 %
    add Timeouts 22 %
    Bulkhead, se avviene errore, abbiamo pool di servizi che interviene 20%
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Errori di decentralizzazione

A

-Persistenza dei dati shared
Soluzioni:
Dividi db 50 %
Add data manager 41%
Merge services 9 %
-Single layer teams
Soluzione: Dividere i teams in modo uniforme per service

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

Quali errori possiamo evitare tramite il deployment?

A

Deployment con Docker compose ci permette di evitare problemi di endpoint servizi interaction, poichè si comporta con service discovery.
Deployment con Kubernetes ci permette di evitare la stessa tipologia di problema, poichè crea un message router tra i vari microservizi.

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

Quale programma può essere utilizzato per trovare smells e fixarli?

A

uFreshner/microFreshner

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

Differenza load balancer, message queue e api gateway?

A

Load balancer ha come scopo quello di prendere request e inviarle al backend, bilanciandole appunto.
Message queue invece prende messaggio ed in maniera asincrona elabora.
Api gateway prende request e le indirizza al microservizio apposito, restituendo poi responses.

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