23.08.21 자의 TIL에서 나는 MSA의 서버 간의 통신을 하기 위해서는 각각의 서버를 이어주는 다른 서버가 필요하다고 생각했다. 그리고 그것을 프록시 서버라고 명명했었다. 하지만 이는 잘 못된 명명이었다.
프록시 서버란 컴퓨터 네트워크에서 중계 역할을 수행하는 서버입니다. 클라이언트와 웹서버 사이의 통신을 관리하고 중계하는 역할을 한다. 정의만 본다면 비슷하다, 느낄 수 있지만 가장 중요한 차이점은 바로 역할이다.
프록시 서버는 정말 다양한 목적을 위해서 사용이 된다.
보안 및 개인 정보 보호: 프록시 서버는 클라이언트와 서버 사이의 통신을 중개해서, 클라이언트의 실제 IP 주소가 서버에 노출되지 않도록 할 수 있다.
캐싱: 프록시 서버는 이전에 요청한 리소스의 사본을 저장해 놓을 수 있다. 그래서 반복적이며 동일한 요청에 대해서 효율적인 대처가 가능하다.
접근 제어 및 필터링: 프록시 서버를 사용하여 특정 웹 사이트나 콘텐츠에 대한 접근을 제한하거나 허용할 수 있다.
기업 환경에서는 이를 이용하여 특정 웹사이트 접근을 차단하거나 직원들의 웹 사용을 제어하는 데 활용하고 있다.
로드 밸런싱: 여러 대의 서버에 대한 요청을 분산하여 트래픽을 균등하게 분산시키는 역할을 수행할 수 있다.
콘텐츠 필터링 및 보안: 악성 코드나 해킹 시도 등을 감지하고 차단하는 데 사용될 수 있다.
위의 열거된 내용 뿐만이 아니라 다른 역할도 있겠지만 중요한 점은 MSA간의 서버간 통신은 프록시 서버와는 거리가 아주 멀다고 할 수 있다.
MSA의 서버간의 통신은 다른 중계서비스를 통해서 이뤄지는 것이 아니라 다른 서비스에 요청을 하는 방식으로 이뤄질 수 있다.
각 서버와 서버에서 제공하는 서비스의 독립성 그리고 결합성을 최대한으로 낮추는 것이 MSA의 가장 큰 특징인데 어떠한 중계서비스를 거쳐서 다른 서비스에 요청이 되는 방식은 독립성과 결합성에서 매우 어긋난 접근법이라고 생각한다.
'내배캠 최종 프로젝트 T.I.L' 카테고리의 다른 글
2023-08-25 T.I.L 파일 스트림의 생성 (0) | 2023.08.27 |
---|---|
2023-08-22 MSA 작업 설계 (0) | 2023.08.22 |
2023-08-21 MSA에서 프록시 서버의 역할 (0) | 2023.08.21 |
2023-08-17 MSA와 MA의 장점과 단점 (0) | 2023.08.18 |
2023-08-16 fetch의 get 요청에는 body값을 넣을 수 없다. (0) | 2023.08.16 |