[DEV] J-Jay

IPC(Inter Process Commuication) 본문

Back-end/MSA

IPC(Inter Process Commuication)

J-Jay 2024. 4. 26. 21:43
728x90

IPC(Inter Process Commuication) 전 사전 지식

 

프로세스 간 통신 → 서비스 간 통신 → MSA

 

IPC를 이용하기 위해서는 Network 통신이 어떻게 이루어지는지 이해가 필요하다.

→ OSI 7 계층(Open Systems Interconnection), TCP/IP 모델

OSI 7계층(Open Systems Interconnection), TCP/IP 모델 들은 한 곳에서 다른 곳으로 통신이 어떻게 되는지
설명하는 모델이다.

 

논리적으로 이해 → TCP/IP (4 계층) 모델

ISO 표준 → OSI 7계층 모델

 

IPC(Inter Process Commuication) 방식

 

일반적인 IPC 는 크게 2가지로 나눌 수 있다.

  • Sync(동기) 방식 (Restful, Http, gRPC)
    →  적절
         1. 굉장히 중요한 작업
         2. 비교적 빠른 작업에 대한 요청
         3. 선행작업이 필수적인 비즈니스

    →  부적절
         1. 매우 복잡하고 리소스 소모가 많은 작업의 요청
         2. 비교적 한정된 컴퓨팅 리소스를 가지고 있는 경우
       
  • Async(비동기) 방식 (rabbitmq, kafka, pusbsub)
    →  적절
         1. 매우 복잡하고 리소스 소모가 많은 작업의 요청
         2. 비교적 한정된 컴퓨팅 리소스를 가지고 있는 경우
         3. 서버 리소스로 인해 누락이 생기면 안되는 경우
         4. 독립적으로 실행되는 수 많은 서비스들이 있는 대용량 MSA환경  

    →  부적절
         1. 굉장히 중요한 작업
         2. 비교적 빠른 작업에 대한 요청
         3. 선행작업이 필수적인 비즈니스

'Back-end > MSA' 카테고리의 다른 글

IPC(Inter Process Commuication) - 3  (0) 2024.04.29
IPC(Inter Process Commuication) - 2  (0) 2024.04.26
MSA 분해로 인해 생긴 문제 해결 방법  (0) 2024.04.25
MSA 분해로 생긴 문제들  (1) 2024.04.25
ExecutorService  (0) 2024.03.04