[Spring Cloud] 웹 서비스 확장 전략(스케일 업,아웃, 서버 부하 분산을 위한 네트워크)

WOOK JONG KIM·2022년 12월 11일
0

패캠_java&Spring

목록 보기
97/103
post-thumbnail

HA(High Avaliability), Resilience

HA : 고가용성 , 특정 서비스 또는 서버가 다운타임 없이 거의 100% 상시 액세스 가능(또는 사용 가능)한지, 그리고 서비스나 서버가 설정된 기간 동안 합리적인 기대치에 부합하는 성능을 제공하는지 여부

Resilience : 회복 탄력성


실무 개발 유형 : 솔루션 개발, si개발, 서비스 개발(고가용성)

솔루션 개발은 주로 B2B(회사 대 회사)
-> ex) 회계관리, 인사관리 시스템
-> B2C보다 유저가 작음

솔루션 이나 si 개발에는 Spring cloud 적용안하는 경우가 많음

서비스를 안정적으로 확장하는 방식에는 크게 두가지

  1. 스케일 업을 통한 서비스 확장
  2. 스케일 아웃을 통한 서비스 확장

스케일 업, 스케일 아웃

스케일 아웃

서버를 여러 대 추가하여 시스템을 확장하는 방법
예를 들어, ‘1’의 처리 능력을 가진 서버에 동일한 서버 4대를 더 추가하여, 총 ‘5’의 처리 능력을 만드는 것

서버가 여러 대가 되기 때문에 각 서버에 걸리는 부하를 균등하게 해주는 로드밸런싱이 필수적으로 동반되어야 함

스케일 아웃의 경우, 서버 한 대가 장애로 다운되더라도 다른 서버로 서비스 제공이 가능하다는 장점이 있지만 모든 서버가 동일한 데이터를 가지고 있어야 하므로, 데이터 변화가 적은 웹 서버에 적합한 방식

즉 여러대의 서버가 트래픽을 나눠서 가짐

블루 그린 배포

애플리케이션 또는 마이크로서비스의 이전 버전에 있던 사용자 트래픽을 이전 버전과 거의 동일한 새 버전으로 점진적으로 이전하는 애플리케이션 릴리스 모델
-> 이때 두 버전 모두 프로덕션 환경에서 실행 상태를 유지

이전 버전을 blue 환경으로, 새 버전은 green 환경

프로덕션 트래픽이 blue에서 green으로 완전히 이전되면 blue는 롤백에 대비하여 대기 상태로 두거나 프로덕션에서 가져온 후 업데이트하여 다음 업데이트의 템플릿으로 삼을 수 있다

blue, green을 나란히 구성하여 배포 시점에 트래픽이 일제히 전환됨

스케일 업

스케일 업은 서버에 CPU나 RAM 등을 추가하거나 고성능의 부품, 서버로 교환하는 방법

예를 들어, ‘1’의 처리 능력을 가진 서버 한 대를 ‘5’의 처리 능력을 가진 서버로 업그레이드시키는 것

CPU나 RAM을 추가하기로 했다면 현재 서버에 추가 부품을 장착할 수 있는 여유 슬롯이 있어야 하며, 그렇지 않은 경우 서버 자체를 고성능으로 교체하는 것이 필요

스케일 업의 경우, 서버 한 대에 모든 부하가 집중되므로 장애 시 영향을 크게 받을 수 있는 위험성

한 대의 서버에서 모든 데이터를 처리하므로 데이터 갱신이 빈번하게 일어나는 데이터베이스 서버에 적합한 방식


서버 부하 분산을 위한 네트워크

서버 : 무언가를 제공하는 대상 혹은 그 주체

부하 : Load 가 많이 걸린 것( 요청 많이 온 것)
-> 이를 해결하는 방법이 분산

분산 : 일(요청) 나눠서 하는 것
-> 컴퓨터 끼리는 연결 수단이 있어야 일을 나눠서 함

네트워크 : 어떠한 일이나 문제점을 처리하는데 긴밀하게 연결되어 효율적으로 움직일 수 있는 체계, 컴퓨터나 다른 장비들을 연결하여 데이터를 전송하는 시스템

Native cloud로 전환하더라도 네트워크 이해 필요

구조 : 외부 요청 -> 라우터 -> 백본 스위치 -> L7 스위치 -> DMZ Zone && Trust Zone -> DMZ Zone

외부에서 요청이 오면 라우터를 통해 분배되어 전달

라우터: 둘 혹은 그 이상의 네트워크와 네트워크 간 데이터 전송을 위해 최적 경로를 설정해주며 데이터를 해당 경로를 따라 한 통신망에서 다른 통신망으로 통신할 수 있도록 도와주는 인터넷 접속 장비

스위치는 컴퓨터 네트워크에서 사용되는 장비로, 네트워크 트래픽( 컴퓨터 네트워크에서 전송되는 데이터)을 전송하는 데 사용

L7 스위치는 응용 계층(Application Layer)에서 작동하는 스위치로, 네트워크 트래픽을 응용 계층 프로토콜을 기반으로 구분하여 전송하는 네트워크 장비
-> L7 스위치는 다른 종류의 스위치와는 달리 응용 계층 프로토콜을 기반으로 트래픽을 제어 가능
-> 네트워크의 성능을 개선할 수 있고, 보안 및 네트워크 관리 등의 목적으로도 사용됨

Trust zoneDMZ zone은 네트워크 보안에서 사용되는 개념으로, 두 영역은 네트워크의 구조를 나타냄

Trust zone은 네트워크 내부의 컴퓨터들로 이루어진 영역이며, 내부 네트워크의 보안을 위해 설정되는 영역

DMZ zone은 외부 네트워크와 내부 네트워크 사이의 영역으로, 일반적으로 외부에서 접근이 가능한 서버들이 속해 있는 영역

보통 DMZ zone의 컴퓨터들은 외부 네트워크에서 접근이 가능하지만, Trust Zone과 같은 내부 네트워크로의 접근은 제한

profile
Journey for Backend Developer

0개의 댓글