DISTRIBUTED SYSTEM
CHAPTER 10 : CASE STUDY
LAB WORK SOLUTION- DISTRIBUTED SYSTEM
DISTRIBUTED SYSTEM -BCA -ALL SLIDES
MCQ- DISTRIBUTED SYSTEM

DEISGN GOALS OF DISTRIBUTED SYSTEM

The design of distributed systems centers around achieving specific goals that leverage the inherent capabilities of multiple interconnected computers. 

  • Scalability: A core principle is the ability to easily grow or shrink the system based on workload demands. This is achieved through horizontal scaling, where you can add more nodes to handle increased processing needs.
     
  • Reliability and Fault Tolerance: Distributed systems aim for high availability, meaning they should continue functioning even if individual components fail. Redundancy, failover mechanisms, and distributed data storage are implemented to achieve this.
     
  • Performance and Resource Sharing: By distributing tasks and resources across multiple machines, distributed systems can achieve faster processing and efficient utilization of hardware, storage, and software resources.
     
  • Transparency: An ideal distributed system hides its underlying complexity from users. They should interact with it as a single, unified system, unaware of the geographical separation or distribution of tasks.
     
  • Concurrency and Parallelism: Distributed systems exploit concurrency, where multiple tasks can be executed simultaneously on different nodes. This allows for parallel processing and improved performance for complex tasks.
     
  • Maintainability and Manageability: The design should consider the ease of maintaining, upgrading, and troubleshooting the system. Modular design principles and well-defined communication protocols can simplify these processes.
     
  • Security: Distributed systems by nature have a larger attack surface due to multiple components. Security measures like encryption, authentication, and access control become crucial design goals to protect against unauthorized access and data breaches.
     
  • Data Consistency: Maintaining consistency of data across multiple nodes that may be updating or accessing information concurrently is a key design challenge. Consistency models and protocols are implemented to ensure all nodes have the same up-to-date and accurate data.