학교에서 1인 1프로젝트를 필수로 하라고 해서, 클라우드 플레어를 구축해봤습니다.
클플에서 하는것처럼 중간에 캐시서버를 두고, 캐시 서버와 실서버가 통신하는 형식으로 구현해보았습니다.
이렇게 라이믹스 설치페이지로 예시를 들어봤는데, 세션이 겹치는 오류가 있어서 아직 설치 진행은 안되네요;;
아래는 /cdn-cgi/trace를 구현해본 모습입니다.
아직은 별거 없지만, 나중에 좀더 생기겠죠..?
request url을 읽어와 뒷부분이 png,jpg같은 이미지 파일이면, 서버에 캐시를 해서 좀 더 빠르게 접속하게 해주고요
추후에는 header를 뜯어서 mime가 img형식이면 캐시하는 형식으로 갈거 같기도 합니다.
HTTP 접속을 통해 캐시 서버와 본서버가 통신하니 이론상으로 직접 접속보다 2배 이상의 시간이 걸린다고 하시네요
그래서 이번기회에 캐시 서버를 PHP에서 Go로 다시짜서 클플에 Railgun 같은 기능도 만들어보려고 합니다.
그다지 CPU를 먹는 작업이 아니다보니 대역폭 많이 주는 라이트세일에서 서버를 얻어서 실서비스도 해볼까 하는데, 어떻게 생각하시나요
중대형 커뮤니티의 트래픽이 어느정도 나오는지 감이 안잡혀서 결정을 해봐야 할거 같은데..
클플에 있는 기능들은 대부분 구현해볼 생각입니다. (자본이 심히 들어가는건 제외... DDOS..?)
클플과 달리 한국 서버를 고정으로 잡아주니까 속도도 빠르고, 생각해둔 레일건 기능 활용하면 다른것 보다 좀 더 빨리 접속할 수 있을거 같은데, 상업성이 있을까요? (사실 캐시서버 비용만 나와도 되는데..)
사이트 특성에 따라 다르지만, 이미지만 잘 캐싱해 줘도 최소 70%에서 최고 97%까지 트래픽 절약이 됩니다. 물론 후자는 이미지 비율이 아주 높은 사이트이겠지요.
국내라면 레일건은 큰 의미가 없습니다. 클플서버와 본서버가 멀리 떨어져 있는 경우 접속시간을 단축하는 데 도움을 주는 기능이니까요. 이미 어마어마하게 줄어든 트래픽을 조금 더 줄여 주는 효과는 있지만, 본서버의 CPU를 너무 많이 사용해서 계륵같은 놈입니다. 대형 커뮤니티는 레일건 혼자서 코어를 10개 이상 씹어먹기도 합니다. ㄷㄷㄷ
비용면에서 국내서버를 고집하신다면 클플 엔터프라이즈보다 싸게 하기는 어려울 듯 합니다. 대형 커뮤니티는 월 트래픽이 테라 단위를 훌쩍 넘어 페타 단위에 근접하는 경우도 있으니까요. 서버 비용은 걱정할 필요조차 없을 만큼 트래픽 비용이 압도적으로 많이 나올 거예요. 오히려 클플을 사용하면 해외로 연결되어서 불편한데 그렇다고 엔터프라이즈를 결제하고 싶지는 않은 중소형 사이트를 타겟으로 잡으시는 편이 나을지도...