Hello

[스프링부트 핵심가이드] 개발에 앞서 알면 좋은 기초 지식 - 서버 간 통신

by 볼빵빵오춘기

서버 간 통신

아키텍처

시스템 구성 및 동작 원리를 나타내는 것이다.

구성 요소 간의 관계 및 시스템 외부 환경과의 관계를 묘사하는 것이다.

시스템구성 요소에 대한 설계 및 구현을 지원하는 수준을 기술하는 것이다.

요구 사양 및 시스템생명주기를 고려하는 것이다.

시스템 생명주기를 고려하는 것이다.

시스템의 전체적인 최적화를 목표로 하는 것이다.

아키텍처는 하나의서비스가 어떻게 구성되며 어떻게 동작이 되는지 표현한 것이다. 
즉, 서비스의 동작원리를 나타내는 것이다! 

     

단일 서비스

소프트웨어 애플리케이션이 하나의 단일 구조로 설계되고 배포되는 아키텍처 스타일이다.

 

마이크로서비스 아키텍처(MSA; Microservice Architecture)

서비스 규모를 작게 나누어 구성한 아키텍처 스타일이다.

 

 

서버 간 통신

마이크로서비스 아키텍처 스타일의 사이트처럼 독립적인 애플리케이션을 개발하게 되면 각 서비스 간에 통신해야 하는 경우가 발생하는데, 이러한 통신을 '서버 간 통신 '이라 한다.   

즉, 한 서버가 다른서버에 통신을 요청하는 것을 의미하며, 한 대는 서버, 한 대는클라이언트가 되는 구조이다. 

다양한 통식 방법이 있지만 HTTP/HTTPS 방식이 가장 많이 사용된다.  

※ 통식 방식의 종류 : HTTP/HTTPS, TCP/IP, SOAP,....

 

단일 서비스 아키텍처와 마이크로서비스 아키텍처의 비교

특징 단일 서비스 아키텍처 마이크로서비스 아키텍처
구조 모든 기능이 하나의 코드베이스에 통합 여러 개의 독립된 서비스로 나뉨
배포 단위 전체 애플리케이션 각 서비스 개별 배포 가능
확장성 전체를 확장해야 함 특정 서비스만 선택적으로 확장 가능
기술 스택 하나의 통일된 기술 스택 사용 서비스마다 다른 기술 스택 가능
장애 격리 장애가 전체 애플리케이션에 영향을 줄 수 있음 장애가 특정 서비스에 국한될 가능성
개발 속도 초기에는 빠르지만 점점 느려질 수 있음 초기 복잡도가 있으나 점진적 개발 유리

 


 

참고

https://www.osckorea.com/post/bigaebaljado-swibge-ihaehaneun-akitegceoyi-gaenyeom

 

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기