A distributed system doesn’t require consensus at all. Consensus is just a famous category of problems within the field of distributed systems, and there are many different types of consensus requirements.
I like Leslie lamport’s definition of a distributed system. I’m paraphrasing but it’s something to the effect, “a distributed system is when your program crashes because of a computer you never even heard of”.
So yeah, I mean a multi-tier web app can definitely be a distributed system.
Typically people don’t think of it like that because those systems are very centralized around a database for example, but in the most technical sense a multi tier application is still a distributed system.
So is an app consisting of composition of docker containers. Message passing in general can kind of blur the lines but yeah this too.
I didn't say it requires consensus but rather that it's often present. Absence of it doesn't disqualify it because eventually consistent systems are definitely "distributed systems". I guess my quandary is between what I would consider embarrassing parallel scale out problems vs distributed systems that often do some sort of coordination even if that is loose coordination in the case of things like p2p protocols ala BTC, bittorrent, etc.
You actually did say it requires consensus or eventually consistency algorithm.
Your definition is too strict. Distributed systems are systems where the components of a system are distributed across a network. There are more issues than just consistency of data. You could have a system that doesn’t store data at all but still is considered distributed due to the nature of it being spread across a network.
I like Leslie lamport’s definition of a distributed system. I’m paraphrasing but it’s something to the effect, “a distributed system is when your program crashes because of a computer you never even heard of”.
So yeah, I mean a multi-tier web app can definitely be a distributed system.
Typically people don’t think of it like that because those systems are very centralized around a database for example, but in the most technical sense a multi tier application is still a distributed system.
So is an app consisting of composition of docker containers. Message passing in general can kind of blur the lines but yeah this too.