vert.x
verticle 생성 후 작업중인 스케줄러 동작시 서버관리 및 failover시 처리
-cluster
서버 클러스터링이랑 두대 이상의 서버가 하나의 서버가 처리하는 것 처럼 보이도록 서버들 간의 확립된 연결을 만들어 놓은 것을 말한다.
장애 대응 시스템 및 부하분산 시스템, 병렬 처리 프로세싱에 사용 될수있는 기술이다.
클러스터링 서버들간의 데이터의 동기화
-fail over
운영중인 서버가 멈췄을때 대기 중인 서버를 운영서버로 장애처리 작업을 해야한다.
master 서버와 standby 서버를 구성하고 있는 master 서버가 fail시 stanby 서버가 자동으로 서버의 역활을 한다.
stanby서버는 평상시에 대기상태로만 있다가 master서버가 fail될 경우만 작동을 한다. 이 구성을 fail over라고 한다.
LoadBanlancing
서버의 로드를 클러스터링된 서버별로 균등하게 나누어 주는 서버 , 서버의 사양과 처리량에 따라 차별적으로 분배해준다.
장애 대처 능력이 향성되며 유지 관리에 효율적이다.
역프록시의 한계
많은 엑세스가 증가하는 서비스인 경우 프록시 서버가 모든것을 해결할수없다. 이러한 경우 역프록시 서버나 웹 서버보다도 앞에 로드 밸린서라는 것을 도입한다.
네트워크 기능과 서버 소프트웨어의 중간과 같은 존재이다. 또한 다른 서버와 동일하게 리눅스등이 인스톨된 서버를 두어 LVS(Linus Virtural server) 사용하는 경우도 있다.
high Availability(HA)
서버와 네크워크 등 시스템이 지속적으로 정산 운영 가능하도록 하는 기술
https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%93%A8%ED%84%B0_%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0
>> verrtx.sharedData().getLockWithTimeout()를 이용하여 lock 실행한후 어느 서버가 마스터 인지 체크 후 master 서버에서만 스케줄러가 작동한다.
>> 자신이 설계한 로직들이 서버에 어떤 부하를 줄지, failover의 상황에 어떤 결과를 줄지 고려하여 설계할 것
'STUDY > PROGRAMMING' 카테고리의 다른 글
웹 개발 공략서 (0) | 2018.09.02 |
---|---|
2. GRADLE ( 도서: gradle 철저입문 ) (0) | 2018.08.27 |
1. Blocing / NonBlocking & Synchronous / Asynchronous (1) | 2018.08.27 |