언제나 1명

go로 웹 소켓에 대한 공부를 시작하면서

제일 쉽게 구현할 수 있었던게 실시간 사용자 카운팅..

 

일단 테스트 삼아 넣어놓은 것이지만 새 탭으로 접속할때 마다 카운팅 되는게 마음에 안들어서

최근에 IP 카운팅 방식으로 변경했다.

 

go 를 또 잘 안쓰기 시작해서 가물가물하긴했는데, 구글링 몇번 하니 그렇게 작업이 오래걸리진 않았다.

 

이미 가지고 있는 RemoteAddr 에서 IP와 포트를 분리 후 배열에 저장하고,

이후 배열에서 중복되는 IP 를 제거해서 카운팅 한다.

 

 

 

구조를 좀 더 변경해서 pushState나, AJAX 를 적용한다면 웹소켓 접속에 대한 부하를 줄일 수 있을 것 같은데

 

하지만 접속 부하가 어느정도 되는지 조차 잘 모르겠고...

 

부하테스트 방법은 여러가지겠지만 지금 환경은 어차피 테스트가 주라서 현재는 유지보수에만 집중 하고 있다.

 

 

 

소켓서버, DB서버 분리, 웹서버 로드밸런싱까지.. 아직은 정말 멀고 먼 이야기다.