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