Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

What is the role of middleware in distributed systems?

Affan Malik

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Answers Code

Overview

In a distributed system, middleware is a software component that serves between two or more applications.

Middleware usually resides between the operating system and the end user or end-user application. It provides essential features that the operating system doesn't offer. The term usually refers to large software products, such as database managers, transaction monitors, and web servers.

An example of how a middleware would exist in a distributed system application

Why use middleware?

Middleware can perform numerous functions such as:

  • It manages connections to various backend resources. Middleware components can create connection pools to provide fast and efficient access to popular backend databases.
  • Second, middleware software can implement logic based on client requirements. For example, the middleware component can detect that the language header of the client browser making a particular request is set to English. As a result, queries sent to the backend will adjust to returning only English-based results.
  • Third, middleware is essential in concurrency, load balancing, and transaction management. It's scaled up and down to distribute incoming client requests across multiple servers, virtual machines, or cloud availability zones.
  • Finally, middleware plays an essential role in protecting access to backend resources. It requires a secure connection using technology such as SSL and a username/password combination or digital certificate authentication.

RELATED TAGS

CONTRIBUTOR

Affan Malik
Copyright ©2022 Educative, Inc. All rights reserved

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Answers Code
Keep Exploring