[서버][링크] 다운타임 없는 서비스 구현 패턴

프로그래밍/서버2021. 2. 20. 11:51

안녕하세요.

 

오늘도 좋은 글을 발견해 링크 남깁니다.

총 7개의 글로 구성되어 있습니다.

2017년도의 글인데 지금에 봐도 좋은 내용 같습니다.

 

www.itdaily.kr/news/articleView.html?idxno=83127

 

[강좌] 다운타임 없는 서비스 구현 패턴 (1) - 아이티데일리

[컴퓨터월드] 한국에도 이제 다양한 클라우드 서비스가 존재한다. 아마존 웹 서비스를 필두로 마이크로소프트 애저, 그리고 아직 데이터센터는 한국에 없지만 구글 클라우드 플랫폼과 같은 대

www.itdaily.kr

그런데 운영과 개발팀들은 한 번에 하나만의 애플리케이션을 구동할 수 있는 WAS에 거대한 애플리케이션을 그대로 패킹하고, 이 구성을 그대로 도커(Docker) 이미지화하는 작업을 하고 있다.

스프링 부트가 갖는 장점은 몇 가지가 있는데, 그중에서도 큰 특징 중 하나는 프로젝트 빌드에 필요하다면 톰캣(Tomcat), 언더토우(Undertow), 제티(Jetty)와 같은 WAS를 ‘임베드’하고 그 외에 필요한 스프링 의존성이 모두 함께 JAR로 패킹된다는 것이다. WAR와의 차이점은, 이 JAR 파일 하나만 있다면 JVM 머신이 설치된 어디에서나 동일하게 동작하는 애플리케이션을 가질 수 있다는 것이다.

이것은 가볍고, 따라서 JVM만 설치돼있는 컨테이너라면 손쉽게 추가돼 이미지의 빌드 속도, 컨테이너가 기동되는 속도 등을 가속할 수 있다. 또한 java -jar 커맨드만 있다면 구동할 수 있으므로, WAS에 대한 전문가가 아니더라도 누구나 동일하게 애플리케이션을 구동할 수 있다. 종전의 업데이트와 같은 과정에서 생각해 보면, WAS의 존재로 인해 발생하는 의존성 문제, 서버 하나에서 하나의 애플리케이션만을 구동할 수 있었던 문제들이 상당히 해결된다.

피보탈의 스프링팀은 많은 개발자들이 이미 현업에서 사용하고 있지만 XML 설정 및 관리와 같은 복잡성으로 인해 문제가 됐던 부분을 개선한 스프링 부트 프로젝트를 수년전에 시작했다. 스프링 부트 사용의 장점은 아래와 같다.

▶ 단일 스프링 애플리케이션 제작
▶ 톰캣, 제티, 언더토우와 같은 WAS가 임베드돼 WAR로 애플리케이션을 배포할 필요가 없어짐. 즉, JAR로 빌드해 java -jar 커맨드로 간단히 실행 가능
▶ Maven 통한 설정 간소화를 위해 ‘starter’ POM 제공, 원하는 스프링 프레임워크의 도구를 쉽게 추가 및 제거 가능
▶ 가능한 경우 자동 설정을 사용
▶ 다양한 단계의 내·외부 설정 참조 및 애플리케이션 관련 다양한 메트릭스, 헬스 체크 등 제공
▶ XML 설정 필요 없음


 

 

 

 

 

작성자

Posted by 드리머즈

관련 글

댓글 영역