미들웨어

유석현(SeokHyun Yu)·2023년 4월 11일
0

분산 시스템

목록 보기
2/27
post-thumbnail

분산 시스템에서는 여러 대의 컴퓨터와 애플리케이션이 서로 통신해야 한다.

이를 가능하게 하기 위해, 애플리케이션운영 체제 및 통신 시설 사이에 소프트웨어 계층이 배치된다.

이 소프트웨어 계층을 미들웨어(middleware)라고 한다.

미들웨어는 다양한 애플리케이션이 서로 다른 운영 체제하드웨어 플랫폼에서 실행되더라도 통신을 할 수 있게 공통된 서비스인터페이스를 제공하는 중개자 역할을 한다.

따라서 분산 시스템에서 미들웨어를 사용하면, 각 애플리케이션마다 하드웨어와 운영 체제의 차이점을 최대한 숨길 수 있다.

이렇게 함으로써, 개발자들은 각각의 시스템의 세부 사항을 걱정하지 않고도 다양한 시스템에서 실행될 수 있는 애플리케이션을 쉽게 개발할 수 있다.

예를 들어, 네 개의 컴퓨터와 세 개의 애플리케이션이 있는 분산 시스템을 상상해보자.

애플리케이션 B는 컴퓨터 2와 3에 분산되어 있다.

서로 다른 애플리케이션들이 통신할 수 있도록 하기 위해, 각 애플리케이션은 동일한 인터페이스를 제공받는다.

이 인터페이스는 미들웨어 계층에서 제공되며, 서로 다른 애플리케이션 간의 통신과 조정을 위한 공통 플랫폼 역할을 한다.


미들웨어의 단점

미들웨어를 사용하면 분산 시스템에서 서로 다른 애플리케이션 간의 통신이 미들웨어를 거쳐 이루어지므로, 애플리케이션 간의 직접적인 통신보다 한 단계 더 거치는 과정이 필요하다.

이러한 과정은 애플리케이션의 처리 속도를 느리게 만들 수 있다.

이는 JVM과 비슷한 문제점을 가지며, 미들웨어 없이 애플리케이션 간의 직접적인 통신을 이용하는 것이 미들웨어를 사용하는 것보다 빠를 수 있다.

따라서 분산 시스템의 퍼포먼스를 고려하여 미들웨어를 선택하고 사용하는 것이 중요하다.

profile
Backend Engineer

0개의 댓글