Spring Boot/서버 간 통신, 스프링 부트 동작 방식

[Spring boot] 서버 간 통신

재윤 2025. 7. 21. 16:10
반응형

서버 간 통신

  • 어떤 포털 사이트를 하나의 서비스 단위로 개발한다고 가정
  • 즉 블로그, 카페, 메일 등의 기능들을 하나의 애플리케이션에 통합했다는 뜻
  • 서비스를 이렇게 구성한다면 서버를 업데이트 하거나 애플리케이션을 유지보수 할 때마다 ‘사이트 작업 중입니다’ 라는 팻말을 걸고 작업을 해야됨
    • 그만큼 개발에 보수적인 입장을 취할 수 밖에 없고, 서비스 자체의 규모도 커지기 때문에 서비스를 구동하는데 걸리는 시간도 길어진다.

이러한 문제를 해결하기 위해 나온 것이 → 마이크로서비스 아키텍처(MSA:Microservice Architecture)

  • 마이크로서비스 아키텍처는 단어 그대로 서비스 규모를 작게 나누어 구성한 아키텍처
  • 이 기능 적용 → 애플리케이션 하나에 여러 기능을 넣어 개발하지 않고 블로그 프로젝트, 카페 프로젝트, 메일 프로젝트 등 애플리케이션을 기능별로 나눠서 개발하게 됨.
  • 다음 그림은 두 개발 방식 비교한 그림

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

단일 서비스 → A 포털

  • 내부 메서드 호출 등을 통해 원하는 자원을 가져와 사용할 수 있지만 서비스 기능별로 구분해서 B 포털 사이트와 같이 독립적인 애플리케이션을 개발하게 되면 각 서비스 간에 통신해야하는 경우가 발생한다.

ex → 사용자가 블로그 기능을 사용하기 위해 로그인 서비스를 거쳐야만 하는 상황 등이 있다. 이런 상황에서의 통신을 ‘서버 간 통신’이라고 한다.

  • 서버 간 통신은 한 서버가 다른 서버에 통신을 요청하는 것을 의미하며, 한 대는 서버, 다른 한대는 클라이언트가 되는 구조
  • 가장 많이 사용되는 방식 == HTTP/HTTPS 방식
반응형