V
VCNC
November 30, 20151회
비트윈의 멀티티어 아키텍처를 위한 프레젠터 이야기
간단 소개
비트윈은 ELB의 한계를 극복하고 채팅 시스템을 개선하기 위해 프레젠터를 도입, 성능 최적화 및 안정성을 확보했다.
AI Summary
- 프레젠터의 필요성 및 기능
- ELB의 한계 극복: PC 버전 및 자체 푸시 서버 지원을 위해 ELB를 대체할 게이트웨이 필요.
- 패킷 중계: 커플 단위 샤딩 환경에서 적절한 채팅 서버로 패킷을 중계하여 클라이언트의 복잡성 감소.
- 연결 유지: TCP Multiplexing을 통해 많은 수의 연결을 안정적으로 유지하고, SSL Handshaking 성능 최적화.
- 프레젠터 구현 및 기술적 결정
- C++ 모듈: 성능을 위해 C++로 연결 유지 모듈을 구현하고, OpenSSL, libevent, folly 라이브러리 활용.
- 릴레이 로직: 인증 패킷 파싱 후 단순 릴레이 방식으로 구현하여 채팅 서버 API 변경에 대한 의존성 감소.
- Multiplexing Protocol: Thrift를 이용하여 정의하고, Alfred RPC 라이브러리에 구현하여 C++과 Java 간 통신.
- 로드 밸런싱 및 스케일링
- 로드 밸런싱: Route53의 Weighted Routing Policy를 이용하여 연결 개수와 CPU 사용량을 고려한 로드 분산.
- 스케일링: AutoScaling Group의 LifeCycleHook을 이용하여 안전한 스케일 인/아웃 구현.
Next Feeds

버즈빌 AWS 활용기
버즈빌은 AWS를 적극 활용하여 서비스 운영 효율성을 높이고 있으며, 다양한 AWS 서비스 활용 팁과 경험을 공유합니다.
AWS클라우드인프라DevOps서버 운영
2015. 11. 6.
버즈빌
VCNC가 Hadoop대신 Spark를 선택한 이유
VCNC는 Hadoop의 한계를 극복하고 데이터 분석 효율성을 높이기 위해 Apache Spark와 Zeppelin을 도입, 클라우드 기반 시스템으로 재구축하여 성공적인 결과를 얻었습니다.
HadoopSparkZeppelin빅데이터데이터 분석
2015. 5. 18.
VCNC
Android Wear 개발하기
Android Wear 앱 개발 경험 공유: 비트윈 팀의 개발 과정, 내부 구조, 주의사항을 통해 더 나은 선택을 돕습니다.
Android Wear웨어러블개발NotificationMicro App
2014. 12. 17.
VCNC
비트윈 PC 버전 개발기
비트윈 PC 버전은 웹 기술 기반으로 개발되었으며, CEF를 통해 네이티브 기능 확장, React, ES6 등의 기술을 활용하여 효율성을 높였습니다.
비트윈 PC 버전CEFReactWebSocketECMAScript 6
2014. 11. 10.
VCNC

This Is Not a Traditional Hackathon Story
Buzzvil 팀은 팀 빌딩, 창의성, 제품 개발을 목표로 특별한 해커톤+워크숍을 개최, 높은 만족도와 긍정적 결과를 얻었습니다.
해커톤워크숍팀 빌딩창의성Buzzvil
2014. 7. 8.
버즈빌

Scaling PhantomJS With Ghost Town
Ghost Town은 PhantomJS의 확장성 및 안정성 문제를 해결하는 Node.js 모듈로, Buzzvil에서 대규모 이미지 렌더링에 성공적으로 사용되고 있다.
PhantomJSGhost TownNode.js확장성안정성
2014. 5. 29.
버즈빌