본문 바로가기

Spring Cloud

(7)
Spring Cloud Gateway 설정 및 테스트 Spring Cloud Gateway(SCG)란? API Gateway의 하나로 Spring 제단에서 권장하는 Gateway 서비스입니다. API Gateway란? API Gateway란? API Gateway를 알아보기 전에 우선 모놀로틱 아키텍처와 마이크로 서비스를 알아야 합니다. 1. 모놀로틱 아키텍처 (Monolithic Achitecture) 비즈니스 로직, DB, UI 등을 하나의 패키지에 담아 빌드하고 배포 sloth.tistory.com Spring Cloud Gateway 프로젝트 설정 우선 프로젝트 2개를 만들어야 합니다. 1. Test 프로젝트 2. Spring Cloud Gateway(SSG) 프로젝트 프로젝트 흐름> Test프로젝트는 8080포트 번호를 가지고 있고 해당 포트번호로..
API Gateway란? API Gateway를 알아보기 전에 우선 모놀로틱 아키텍처와 마이크로 서비스를 알아야 합니다. 1. 모놀로틱 아키텍처 (Monolithic Achitecture) 비즈니스 로직, DB, UI 등을 하나의 패키지에 담아 빌드하고 배포하는 아키텍처입니다 장점 개발 초기에 단순한 아키텍어 구조와 개발이 용이합니다. 어떤 서비스든지 개발 환경이 같아 복잡하지 않습니다. 단점 프로젝트 규모가 커짐에 따라 애플리케이션 구동시간이 늘어나고 빌드, 배포 시간도 길어집니다. 조그마한 수정사항이 있어도 전체를 다시 빌드하고 배포를 해야합니다. 일부분의 오류가 전체에 영향을 미칩니다. 만약, 애플리케이션에서 일부 기능의 패치가 필요하게 된다면 모놀로식 아키텍처로 설계된 애플리케이션은 서버 전체를 다운시킨 후 코드를 수정하..
DB 클러스터링과 리플리케이션 클러스터(Cluster) DB를 여러개의 서버가 나눠서 처리하도록 한다. 장점 서버 한 대가 죽어도 대비가 가능하다. 용도 고가용성 DB의 가용성이란 DB가 동작하고 있는 시간과 정지한 시간의 비율이다. DB 시스템을 구성할 서버나 스토레지 장비를 각각 2대 이상으로 구성해서, 만의 하나 어느쪽인가에 장애가 발생했다고 하더라도 단 시간내에 운용을 재개할 수 있도록 한다. 병렬처리 성능향상 종류 Active - Active Clustering DB서버들이 각각 Active 상태로 둔다. 서버 하나가 죽어도 다른 서버가 역할을 바로 수행하여 중단되는 시간이 없다. 같이 사용되어 CPU와 메모리 이용률을 올릴 수 있다. 저장소 하나를 공유하면 병목현상이 발생될 수 있다. 병목현상 : 전체 시스템이 성능이나 용..
캐시 서버 캐시란? "Cache"의 사전적 의미로는 저장소이다. 캐시는 저장공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다. 캐시 사용시 고려사항 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우 반복적으로 동일한 결과를 돌려주는 경우 이 경우, 지속적으로 DBMS 혹은 서버에 요청하는 것이 아니라. Memory에 데이터를 저장하였다가 불러다 쓰는 것을 의미한다. 캐시 서버란? 인터넷 서비스 속도를 높이기 위해 사용자와 가까운 곳에 데이터를 임시 저장하여 빠르게 제공해주는 프록시 서버를 의미한다. 웹 캐시 서버는 클라이언트가 요청한 컨텐츠들을 기억하고 있다가 어느 한 클라이언트가 웹 캐시 서버가 기억하고 있는 동일한 컨텐츠를 또 다시 요청하는 경우 이를 직접 응답하여 서버의 부하를 절감시켜 주는..
VIP(Virtual IP)란? VIP는 Virtual IP로 가상아이피를 말하며 하나의 호스트에 여러 개의 IP주소를 할당하는 기술로 대장과 같은 역할이다. L4에서 로드밸런싱을 위해 사용되는 사례 1. 클라이언트가 150.150.150.3을 목적지로 요청을 한다. 2. DNS서버에서 VIP가 있는 스위치를 알려준다. 3. L4는 부하분산의 설정에 따라 알맞은 서버에 패킷을 전달한다.
부하 분산(로드밸런싱)을 위한 네트워크 스케일아웃과 로드밸런싱 분산 처리를 위해 여러 대의 서버들을 놓게 되는 스케일 아웃 작업을 하게되는데, 이 때 여러 서버들로 대규모의 네트워크 트래픽을 분산 처리하는 기술을 로드 밸런싱이라고 한다. 스케일 아웃> 스케일 아웃(Scale Out)과 스케일 업(Scale Up) 1. 스케일 아웃 - 서버의 대수를 늘려 처리 능력을 향상 시키는 것. 하나의 장비에서 처리하던 일을 여러 장비에 나눠서 처리할 수 있도록 설계를 변경하는 것. 비교적 저렴한 서버를 사용하므로 sloth.tistory.com 로드밸런싱이란? 로드밸런싱은 네트워크 또는 서버에 가해지는 부하(=로드)를 분산(=밸런싱)해주는 기술을 의미하며, 이를 제공하는 서비스 또는 장치(로드밸런서)는 클라이언트와 네트워크 트래픽이 집중되는 서버들(Se..
스케일 아웃(Scale Out)과 스케일 업(Scale Up) 1. 스케일 아웃 - 서버의 대수를 늘려 처리 능력을 향상 시키는 것. 하나의 장비에서 처리하던 일을 여러 장비에 나눠서 처리할 수 있도록 설계를 변경하는 것. 비교적 저렴한 서버를 사용하므로 일반적으로 비용 부담이 적다. 하지만 대수가 늘어날 수록 관리 편의성이 떨어지며 운영 비용이 증가한다. 읽기/쓰기가 여러대의 서버에 분산되어 처리됨으로 장애 시 전면 장애의 기능성이 적다. 2. 스케일 업 - 서버 그 자체를 증강하는 것에 의해 처리 능력을 향상 시키는 것. 더 바른 속도의 CPU로 변경하거나, 더 많은 RAM을 추가 등, 하드웨어 장비의 성능을 높이는 것. 성능 증가에 따른 비용 증가폭이 크다. 운영비용은 큰 변화가 없다. 한대의 서버에 부하가 집중되므로 장애시 장애 영향도가 크다.