카카오 서버는 당연히 이중화 되어 있을 것이다. 그럼 문제는 무엇일까.
개발자는 서버 이중화를 고려하므로, 서버 하나 죽어도 문제가 없다. 그럼 완벽한 것일까? 완벽이란 말은 닫힌계 안에서나 통하는 소리인데, 상부 구조가 있다는게 문제다.
서버 이중화는 보통 L4 스위치로 하는데, L4가 죽는다면? 여기까지는 보통 개발자는 고려하지 않고, 인프라 엔지니어의 영역이 된다. 인프라 엔지니어는 L4도 이중화 한다. 나름 많은 대응이 되어 있다.
그런데, 상부가 또 있다. 문제는 이 모든 것이 하나의 IDC(데이터센터) 안에 있다는 것이다. IDC 가 통째로 죽는다면? 상부로 갈수록 점점 일이 커진다.
IDC 이중화까지 하려면 일이 커지지만 중요성이 강한 경우는 진행하기도 한다. GSLB 를 이용해서 IDC 이중화를 할 수 있다. 이쯤 되면 테스트가 어렵다. IDC 를 죽여야 테스트가 되는데, 영향도가 커서 죽이질 못 한다. 주기적으로 테스트되지 않으면, 정상 작동을 보장할 수 없다.
디테일하게 들여다보면 골치 아픈 부분이 많다. 어떤 IT 기업도 모든 기술을 내재화하고 있는 것이 아니고, 많은 것을 가져다 쓰는데 애초에 한계가 있을 수 있다. 가령, 대표적인 db 중 하나인 mysql 은 이중화 기술 mmm 을 쓰는데, 이 때에는 IDC 가 같아야 한다.