본문 바로가기

내배캠 최종 프로젝트 T.I.L

2023-08-23 T.I.L 08-21일 MSA 프록시 서버에 대한 수정 및 서비스 간의 통신

23.08.21 자의 TIL에서 나는 MSA의 서버 간의 통신을 하기 위해서는 각각의 서버를 이어주는 다른 서버가 필요하다고 생각했다. 그리고 그것을 프록시 서버라고 명명했었다. 하지만 이는 잘 못된 명명이었다.

 

프록시 서버란 컴퓨터 네트워크에서 중계 역할을 수행하는 서버입니다. 클라이언트와 웹서버 사이의 통신을 관리하고 중계하는 역할을 한다. 정의만 본다면 비슷하다, 느낄 수 있지만 가장 중요한 차이점은 바로 역할이다.

 

프록시 서버는 정말 다양한 목적을 위해서 사용이 된다.

 

보안 및 개인 정보 보호: 프록시 서버는 클라이언트와 서버 사이의 통신을 중개해서, 클라이언트의 실제 IP 주소가 서버에 노출되지 않도록 할 수 있다. 

캐싱: 프록시 서버는 이전에 요청한 리소스의 사본을 저장해 놓을 수 있다. 그래서 반복적이며 동일한 요청에 대해서 효율적인 대처가 가능하다.

접근 제어 및 필터링: 프록시 서버를 사용하여 특정 웹 사이트나 콘텐츠에 대한 접근을 제한하거나 허용할 수 있다.

기업 환경에서는 이를 이용하여 특정 웹사이트 접근을 차단하거나 직원들의 웹 사용을 제어하는 데 활용하고 있다.

로드 밸런싱: 여러 대의 서버에 대한 요청을 분산하여 트래픽을 균등하게 분산시키는 역할을 수행할 수 있다.

콘텐츠 필터링 및 보안: 악성 코드나 해킹 시도 등을 감지하고 차단하는 데 사용될 수 있다.

 

위의 열거된 내용 뿐만이 아니라 다른 역할도 있겠지만 중요한 점은 MSA간의 서버간 통신은 프록시 서버와는 거리가 아주 멀다고 할 수 있다.

 

MSA의 서버간의 통신은 다른 중계서비스를 통해서 이뤄지는 것이 아니라 다른 서비스에 요청을 하는 방식으로 이뤄질 수 있다.

각 서버와 서버에서 제공하는 서비스의 독립성 그리고 결합성을 최대한으로 낮추는 것이 MSA의 가장 큰 특징인데 어떠한 중계서비스를 거쳐서 다른 서비스에 요청이 되는 방식은 독립성과 결합성에서 매우 어긋난 접근법이라고 생각한다.