Distributed System Design Pattern
Review of the required use cases.
Hello Mates,
Recently I had an opportunity to talk with interviewer and the first theoritcial phase started with “what is distributed system?”
I was really confused how to explain this. I had some knowledge like distributed aka means distributing and system means system right . I knew basically we need to distribute database nodes so that in case of situation like In covid 19 we will have a member of a team playing same role as his original master did although he/she passed right. So, I assumed same for systems if one fails another is ready to work same as it.
Does this look understandable else Press space.
Well it will do nothing except scrolling you here.
Actually , i.e.
-> multiple copies of data, which need to keep synchronized
Well you might think there is nothing to understand here right. But there are a lot of challenges faced in distributed system. Let’s go one by one.
- > Network Latency :: Can lead to inconsistency;
- System Unreliable performance can lead to inconsistency as well.
now assume one system shows I have 1 Million Loan and another user sees it 2 million both argue end their business. Is not that bad.
So Lets focus upon design pattern to resolve this.
** Clock Bound Wait
In short::
Due to network latency, hardware differences there might be discrepancies in clock time and waiting for some time allows to synchronize the systems.
** Request Waiting List
“Track client requests which require responses after the criteria to respond is met based on responses from other cluster nodes.” link
** Consistent Core
“Maintain a smaller cluster providing stronger consistency to allow the large data cluster to coordinate server activities without implementing quorum-based algorithms.” link
** Emergent Leader
“Order cluster nodes based on their age within the cluster to allow nodes to select a leader without running an explicit election.” link
** Fixed Partitions
“Keep the number of partitions fixed to keep the mapping of data to partition unchanged when the size of a cluster changes.” link