[Network] 서버 이중화에 관하여
in Development on Network
서버 이중화가 뭔지 파악해보고, 어떻게 활용할지 생각해보기
사실 쭉 읽어봤는데, 확실하게 이해하긴 어렵고, 나중에 아래 참고 내용들은 정리해봐야겠다.
서버 이중화
- 참고 블로그
- 운영중인 서비스의 안정성을 위해 각종 자원을 이중으로 구성하는것을 말함
구성은 HA(High Availablity)서비스와 디스크 RAID 구성, 오라클 RAC(Real Application Cluster) 등으로 구현 가능
- 목적
- 장애시 서비스 재개(Failover)
- 원할한 서비스 성능(Load Balancing, 부하분산))
- 서버 이중화 방법
- (1) Active-Active, (2) Active-Stand by
- Active-Active : 부하분산 등의 목적으로 사용, 서비스 단위로 나누어 분산
- 두개의 DB가 서로 다른 서비스를 제공하다가 둘중 하나가 문제발생하면 다른 DB가 서비스 제공 -> 두 DB 모두 처리하기 때문에 처리율은 높지만 구성이 어려움
- Active-Stand by : 즉각적인 Failover(장애 대비)을 위해 주로 구성
- 한 DB가 활동상태로 서비스하고 다른 DB는 대기 -> 구성하기 쉬움
데이터베이스 이중화 / 서버 클러스터링
- 참고 블로그
- 데이터베이스 이중화의 분류
- Eager 기법 : 트랜잭션 수행 중 데이터가 변경되면 이중화된 모든 데이터베이스에 즉시 전달하여 즉시 적용
- Lazy 기법 : 트랜잭션 수행이 종료되면 변경 사실을 새로운 트랜잭션에 작성해 각 데이터베이스에 전달
- 서버 클러스터링 : 두 대 이상의 서버를 하나의 서버처럼 운영하는 기술
- 고가용성 클러스터링 : 하나의 서버에 장애발생 -> 다른 서버가 대신 처리
- 병렬 처리 클러스터링 : 하나의 작업을 여러개의 서버에 분산해 처리
- 서버이중화 그림 잘나온 블로그 참고 블로그
나중에 서버 이중화 관련 내용 따로 정리할 목록
멀티서버에서 스케쥴러 중복실행 방지(Spring) 참고 블로그
MySQL(MariaDB) DUMP과 cron으로 DB 이중화, 백업하기 참고 블로그
(Docker)Nginx와 Tomcat을 활용한 로드 밸런싱 및 무중단 배포하기 참고 블로그
Docker 도커와 Nginx를 이용한 로드밸런싱, 무중단 배포 (1) - 1~4개의 컨테이너 사용시 처리 속도 변화 참고 블로그
Nginx - Docker로 Nginx 설치하고 실행하기 참고 블로그