Microservices Flashcards

1
Q

What are 6 Microservice design principles?

A

1) High Cohesion
2) Autonomous
3) Business Domain Centric
4) Resilience
5) Observable
6) Automation

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

What does High Cohesion mean?

A

1) Has a single focus / responsibility (e.g. calculating postage / accounts)
2) Only change for one reason
3) Reason represent Business Domain or Business Function.
4) Small code base

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

What does Autonomous mean?

A

1) Loose coupling - Should not change because of another service or client it interacts with changes
2) Honor contracts and services - inputs and outputs should not change
3) Stateless
4) Independently changeable
5) Independently deployable
6) Backward compatible
7) Concurrent development

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

What does Business Domain Centric mean?

A

1) Based around domain driven design

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