버
버즈빌
May 29, 20141회
Scaling PhantomJS With Ghost Town

간단 소개
Ghost Town은 PhantomJS의 확장성 및 안정성 문제를 해결하는 Node.js 모듈로, Buzzvil에서 대규모 이미지 렌더링에 성공적으로 사용되고 있다.
AI Summary
PhantomJS 확장 문제점: PhantomJS는 불안정하고 높은 리소스 사용량, 느린 시작 시간으로 확장에 어려움이 있음. 기존 프로젝트의 한계를 극복하기 위해 Ghost Town 개발.
- Ghost Town의 특징: Ghost Town은 PhantomJS 프로세스 관리, 작업 큐 처리, 오류 복구 및 자동 확장을 지원하는 Node.js 모듈임.
- 각 작업 항목은 작업자(worker)가 준비될 때까지 큐에 저장되고, 작업 실패 시 재큐에 넣어 안정성을 보장함.
- 메모리 누수를 방지하기 위해 각 작업자마다 별도의 PhantomJS 프로세스를 생성하고 주기적으로 재시작함.
- Ghost Town의 구현 및 활용: 마스터(master)와 작업자(worker)를 구현하여 작업 큐를 관리하고, PhantomJS 페이지를 설정하여 데이터를 처리함. Buzzvil에서는 HTML 문서를 렌더링하는 데 사용하며, Node.js v0.12 릴리스와 함께 성능 개선이 기대됨.
Next Feeds
비트윈의 HBase 스키마 해부
비트윈은 HBase를 메인 DB로 활용, Thrift, Haeinsa, Datastore 라이브러리, Secondary Index 등을 통해 효율적인 데이터 관리 및 접근을 구현했습니다.
HBaseThriftHaeinsaDatastoreSecondary Index
2014. 5. 7.
VCNC
블로그 운영 방법에서 엿보는 VCNC의 개발문화
VCNC 개발팀은 독특한 방식으로 블로그를 운영하며, 이를 통해 개발 문화와 효율적인 협업 방식을 엿볼 수 있다.
VCNCJekyllJIRAStash개발문화
2014. 1. 20.
VCNC
HBase Meetup - 비트윈에서 HBase를 사용하는 방법
비트윈은 HBase를 주요 데이터베이스로 활용, 채팅 기능 및 로그 분석에 사용하며, HBase 트랜잭션 라이브러리 Haeinsa를 개발하여 적용했다.
HBase비트윈로그 분석Haeinsa트랜잭션
2013. 11. 21.
VCNC
HBase상 트랜잭션 라이브러리 Haeinsa를 소개합니다
HBase 트랜잭션 라이브러리 Haeinsa는 ACID 속성을 만족하며, 비트윈 서비스에서 하루 3억 건 이상의 트랜잭션을 처리합니다.
HBaseHaeinsaTransactionACIDPercolator
2013. 10. 10.
VCNC
안드로이드 클라이언트 Reflection 극복기
안드로이드 Reflection 성능 이슈를 극복하기 위해 Bytecode 생성(Dexmaker)을 시도했으나, APT 기반 코드 자동 생성으로 최종 해결하고 Binding 라이브러리를 구축한 과정.
ReflectionDexmakerAPTAnnotation ProcessorBinding
2013. 7. 31.
VCNC
비트윈의 스티커 시스템 구현 이야기
비트윈 스티커 시스템의 아키텍처, 구현 과정의 문제 해결, 그리고 보안 적용에 대한 기술적 고민과 해결책을 제시합니다.
스티커아키텍처WebPGAE보안
2013. 6. 24.
VCNC