허원철의 개발 블로그

Naver Hack Day 2017 본문

conference

Naver Hack Day 2017

허원철 2017. 5. 26. 20:58
다른 포스팅과 달리 경험을 살리기 위해 말을 짧게 쓰는 점 이해해주시면 감사하겠습니다.


경력 2년이 있는 상태에서 네이버에서 주최하는 Hack Day를 참여하게 되었다.
(물론, 사이버대학생으로 재학 중에 있어서 문제 없다.)

주제가 36가지 정도 되었는데 그 중, '천만 사용자 게시판 만들기' 라는 주제로 참여하게 되었다.
('대용량 로그 분석 ~~~' 라는 주제도 선택했는데 저게 된 듯...)

사실 헤커톤이 처음이다보니, 뭘 할지도 몰랐고.. 어떻게 진행되야 효율적인지도 몰랐다.


하지만, 나의 목표는 단 하나!

네이버 현개발자분이 주제당 한분씩 멘토가 되어 이끌어 주신다. 그래서 나는 '네이버가 어떤 기술을 사용하고 있고, 어떻게 구성하고 있는지 (아키텍처)에 대해 배워보자' 라는 마음으로 임하게 되었다.

나와 멘토님을 포함해서 총 4명..

다행하게도 다들 자바를 사용(휴... 다른거 썻더라면...)했지만, 얼마나 활용도가 높은지 몰랐기 때문에 안심은 할 수 없었다.

준비된 서버는 웹서버 4대, db서버 2대였다. 아마 웹서버 4대는 로드밸런서로 묶을 것이다. (클라우드 환경이기 때문에 로드밸런싱은 쉽게 가능 했다.)

내가 사전에 생각한 구성도는 이러하다.

해커톤이라는 짧은 제약사항이 있기때문에 db 클러스터링 포기..(사실 개념만 알지 할 줄도 모름)

DB 서버 1대 NoSql로 유저 세션 관리
웹 서버 4대, DB 서버 1대는 게시판 관리


이렇게 하고.. 나름의 지식으로 Tomcat이 아닌 Netty기반의 Undertow를 넣어 조금 더 많은 Connection을 수용하도록 하고, MVC 에 Model(Service/Repository)부분을 비동기 처리를 하면 어떨까..라는 고민만 가지고 임하게 되었다.
(조금 더 다르게 접근한다면.. 메시지 큐로 db에 넣고 해당 데이터를 NoSql에 넣어 동기화하는 식의 방법도 생각해볼 수 있을 것 같다.)


결론부터 말하자면.. 

해커톤에 자체에 만족스럽진 못 했다. 서로 간의 역량 차이, 알지 못할 변수들(DB Connection 문제, Build 문제)..

또한 공교롭게도 다들 처음이라 갈피를 잡지 못해 시간 버린 것 들이 안타까운 헤커톤이였던 것 같다. (학생 기준으로 나이도 제일 많았고, 그나마 경력도 있었으나 제대로 받춰 주지 못해 미안한 마음도 든다..ㅠㅠ)

그래도 대충 게시판을 구성하고 부하테스트(Jmeter), 서버 CPU/IO 체크정도를 해보았다. (우리의 목표는 천만 사용자이지 게시판이 아니다.)

하지만!!  나의 목표는 어느 정도 이뤘다고 본다. 멘토님께서 네이버에서 사용하는 방법들을 작게나마 설명해 주셨다.

1) 뭘 구성하든 두 개 이상의 서버를 엮어 사용한다.

2) DB Lock 때문에, 동일 테이블을 여러개 두어 경합을 줄인다.

3) NoSQL과 RDB를 이용하여 서로 동기화하며, 빠른 응답처리를 한다. 
   (Redis를 사용할 때, Annotation으로 캐시 기반으로 쓰는 것 보다는 RedisTemplate를 이용하여 여러 컬랙션을 다룬다.)

4) L4는 단순히 분산하는 역할만 하지만, L7은 health 체크까지 한다.

(사실 몇 개 더 들은 것 같은데.. 기억이 안남...)


그 외)

- 네이버 지하식당에서 밥을 먹었는데 임직원은 2천원이더라.. (맛있다.)

- 네이버 휴게시설을 한번 구경했는데 작은 동네라고 무방할 정도이다. (병원, 카페, 휴게실... CU편의점도 있더라..)

- 헤커톤을 하기 위해 네이버 커넥트원?(춘천)을 갔다. 다만, 촬영 금지라.. 안타깝다. (시설 굳, 식사 굳, 경치 베리 굳이였다..)

- 그리고 마지막으로 기념품 자랑해달라고 하셔서 올려 보겠습니다 ㅋㅋ


'conference' 카테고리의 다른 글

Java And Spring forward! 2017 세미나 - 후기  (399) 2017.11.26
Oracle Code Seoul - 2017  (402) 2017.08.30
Spring Camp 2017 - 후기  (397) 2017.04.23
GDG WebTech - AMP, PWA  (394) 2017.02.27
GDG DevFest Seoul 2016  (432) 2016.12.05
Comments