mercredi 27 février 2019

Microservices and the "single point of failure" concept

One concept I don't entirely understand is the single point of failure. It seems to me that whenever you have multiple services, say A, B and C, involved in an entire system, then if any of them is down the system as a whole can't do anything that useful (If the system could be useful without B, then why is B even needed in the first place?).

For example, let's say we have a pipeline such that A publishes an event that is consumed by B and then B publishes a message that is consumed by C and this flow of data is how the whole system serves its purpose.

A ===> B ===> C

Maybe C is the service that processes credit card information: the business isn't really running if no money is coming in!

Since this is a messaging system, these services are "independent" in the sense that if one goes down it does not cause another to go down. Ok, but if B goes down then C won't receive any new messages and the entire system isn't serving it's purpose. So, what difference does it make having separate services A, B and C rather than one service ABC?

Aucun commentaire:

Enregistrer un commentaire