-1

I was going through a course on system design which mentioned any architecture which has more tiers than a 3-tier architecture to be a distributed system. I believe even a 3-tier system can be distributed. Is it correct? What about 1-tier or 2-tier?

Peter Csala
  • 17,736
  • 16
  • 35
  • 75
white-hawk-73
  • 856
  • 2
  • 10
  • 24
  • 1
    _"which mentioned any architecture which has more tiers than a 3-tier architecture to be a distributed system."_ - No, that's just someone talking out of their arse. The _defining characteristic_ of a distributed system is that nodes in the system can operate independently (for varying levels of "can operate", of course; CAP-theorem notwithstanding) - but an n-tier application architecture just describes an application (and not necessarily an entire "system") with well-defined interfaces between layers/tiers - so it does not describe a system of autonomous or independent actors or nodes. – Dai Jul 12 '23 at 09:45
  • Thanks, Dai. Does that mean a 2-tier architecture can be distributed as well? Surely a 1-tier system is not distributed. – white-hawk-73 Jul 12 '23 at 09:50
  • 1
    They're orthogonal concerns. Let me put it this way: an n-tier application _might_ (or _can_) participate in a distributed-system - or _use_ a distributed system (a _separate_ system) - (for (an extreme) example: a CRM application that uses the Bitcoin blockchain as a distributed database for storing CRM data - or an application that uses Ethereum for application data processing (e.g. using a smart-contract somehow) (but without being a [DApp](https://en.wikipedia.org/wiki/Decentralized_application) itself) - but those are just _possibilities_. – Dai Jul 12 '23 at 09:58
  • 1
    But I want to emphasise that the notion that _"any architecture which has more tiers than a 3-tier architecture to be a distributed system"_ is just utter [bollocks](https://www.youtube.com/watch?v=gDgrnP-f8VY). – Dai Jul 12 '23 at 10:00
  • Understood, thanks! – white-hawk-73 Jul 12 '23 at 10:04

1 Answers1

1

Alex Xu has recently published an infograph to visiualize the different architecture styles

software architecture styles

The layered or n-tier architecture's scope is limited to a single application/service. As it was said by Dai in the comments section a n-tiered application can be part of a distributed system.

But a distributed system is usually not homogenous. One service can be implemented in n-tier, another with vertical sliced and yet another as an onion architecture.

Peter Csala
  • 17,736
  • 16
  • 35
  • 75