Architectural Patterns for Distributed Systems: Definition & Importance

Instructor: Meghalee Goswami

Meghalee has a masters of computer science and communication engineering.

In this lesson, we will learn all about architectural patterns for distributed systems and their different forms. We will learn about the five architectural styles that support critical non-functional requirements of any system design.

Architectural Patterns

For any system design to be successful, we need to choose a definite architecture pattern that is suitable for the system from every aspect. An architecture pattern is chosen based on how much it is compatible with the design, how effective it will be to achieve the desired output, its cost-effectiveness, the time it will consume and the resources it will need. For certain designs, previously created architectural patterns are taken into consideration to get some insight about the preferable pattern.

Distributed Systems Architecture

Distributed Systems are composed of various hardware and software (collectively called components) that communicate with each other only by transfer of messages. These components are placed inside a single network. So, when we think about the architecture styles for distributed computing the main task would be to ensure that these can communicate with each other over a communication network. In the next section, five different styles of architecture used in distributed computing have been discussed.

Layered pattern

This architectural pattern works in layers that help subtasks which are conceptually different from each other to be implemented and worked on simultaneously but within two different layers. In this pattern, a layer of higher abstraction can use lower abstraction services but it doesn't work the other way round.


Layers Pattern
Layer


Client-Server Pattern

In this architectural pattern, the client component asks for services from the server component, which the server readily provides to the client. That's how it works. Any server is always active for its clients. The client and the server may contain different processors.


Client-server pattern
Client-server pattern


Master Slave Pattern

In a master-slave pattern, the master component distributes the work among identical slave components. This pattern supports parallel computing. This pattern gets used in full tolerant systems. This works based on the divide and rule principle.


Master-Slave Pattern
Master-Slave


Peer to Peer Pattern

In this pattern, the peer can act as a client asking for services to be provided as well as a server providing services to the client. Thus, it acts as both and changes its role in a dynamic manner.


Peer to peer pattern
p2p


Model View Controller (MVC) Pattern

In this pattern, the application is divided into three parts: the model, the view, and the controller.

The model contains data, view displays information to the users and the controller handles the actions in the process. This pattern suits GUI's. Consistency between all the three parts is maintained through messages or notifications.


Model View Controller
MVC


Non-functional Requirements and Architectural styles

Non-functional requirements(NFRs) refers to criterion that can be used to understand how the overall operation of a system works. A system is subjected to constant change, with new changes new NFRs emerge. It is very important to consider the architecture style and pattern of a system model based on some pre-determined NFRs, primarily to lay a strong foundation. For example, a layered pattern may be considered where the determined NFRs require high maintainability and portability. An MVC pattern is chosen where there may be a user interface involved that requires constant developments.

Architectural patterns get developed from architectural styles. Few architectural styles that help support NFRs may be classified as:

To unlock this lesson you must be a Study.com Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use Study.com

Become a Study.com member and start learning now.
Become a Member  Back
What teachers are saying about Study.com
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? Study.com has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account
Support