Quora 기술 스택 및 아키텍처 분석
Source
Evernote/ancom21c's notebook/Quora 기술 분석.md
Summary
본문서는 Quora의 웹 아키텍처와 기술 스택을 분석한 내용이다. 주요 구성 요소는 다음과 같다: 1) 검색: 토큰 기반 검색으로 n-gram 인덱싱 미적용, 오타/복수형 대응 불가. 2) 검색 쿼리: AJAX GET 요청, 서버사이드 HTML 렌더링, 영속적 연결 사용. 3) 내부 CMS: Webnode2(HTML/CSS/JS 생성)와 LiveNode(콘텐츠 표시 관리, Python/C++/JS 사용)로 구성되며 실시간 동기화 문제가 존재함. 4) 인프라: AWS EC2(Ubuntu), S3(CloudFront CDN), HAProxy(로드밸런싱), Nginx(리버스 프록시). 5) 백엔드: Python(Pylons 프레임워크) 기반, 느린 부분은 C++로 구현. Thrift(C++)로 백엔드 간 통신, Tornado로 실시간 업데이트(Comet/Long-polling) 처리. 6) 데이터베이스: MySQL(Memcached 캐시 레이어). 7) 기타: Git 버전 관리, ‘High Performance Web Sites’의 14가지 패스트로딩 기법 적용.
Key Points
검색: 토큰화 기반, n-gram 미적용, 서버사이드 렌더링을 통한 하이라이트 처리
인프라: AWS(EC2, S3, CloudFront), HAProxy, Nginx 리버스 프록시
백엔드 언어: Python(Pylons) 주력, 성능 병목 시 C++ 사용, Thrift(C++)로 서비스 간 통신
실시간 처리: Tornado 기반 Comet(Long-polling) 아키텍처
데이터 저장: MySQL + Memcached 캐시
내부 도구: Webnode2 및 LiveNode 기반 CMS, 실시간 동기화 이슈 존재
성능 최적화: HTTP 요청 최소화, CDN 활용, Gzip, CSS/JS 최적화 등 표준 웹 성능 기법 적용
Quora 기술 스택 및 아키텍처 분석 (Phil Whelan)
2012 만화 서비스 오픈 후기: 인프라 및 기술 스택
타다(Tada) 시스템 아키텍처 개요
구글플러스 기술 FAQ
크롬 개발자 도구 101
WebNode의 제한 사항
Quora, Stack Overflow, ServerFault 활용 팁
웹 애플리케이션 모델 저장소의 텍스트 및 내용 기반 검색
Checker Architectures Survey
Tumblr 아키텍처 분석 (2013)
Google+ Hangouts 기술 아키텍처 및 전망
데이터 분석 및 머신러닝 오픈소스 기술 12종 (2015)
기술 뉴스 #23 (2015-01-15)
자바스크립트 아키텍처 v0.4
2014 년 10 월 1 일 기술 뉴스 요약
JSWhiz: JavaScript 메모리 누수 정적 분석 도구
오프라인 웹 애플리케이션 만들기 (Mozilla 웹 기술 블로그)
Velocity 2014: PageSpeed 인사이트 및 QuickBooks Online 클라이언트 사이드 아키텍처
트위터, ‘스톰-하둡’ 연동 기술 OSS로 공개
2014-10-15 기술 뉴스 요약
카카오 컨테이너 플랫폼 및 MPC 아키텍처 개요
야구9단 아키텍처 (NHN, 2011)
2015년 3월 1일 웹개발 및 IT 기술 뉴스 요약
실시간 데이터 스트리밍 기술 개요
크로스 플랫폼 SSO 기술 (Cross-Platform SSO)
2014 년 11 월 1 일 기술 뉴스 요약
스마트가전 발표자료 구성 및 기술 방향
2014 년 6 월 15 일 기술 뉴스 요약
jQuery 애플리케이션 아키텍처 도구 (Addy Osmani)
GPU 동작 원리 및 아키텍처 개요
2014-09-15 기술 뉴스 요약
React vs AngularJS 비교 (Quora)
Locust 데모 및 아키텍처 논의 (SRPOL)
Google Chrome의 고성능 네트워킹 아키텍처
2014 년 4 월 15 일 기술 뉴스 요약 (Outsider’s Dev Story)
2014-01-15 기술 뉴스 모음 (Outsider’s Dev Story)
2014 년 4 월 15 일 기술 뉴스 요약 (웹개발, 보안, 업계 동향)
2014 년 3 월 1 일 기술 뉴스 요약 (웹개발, IT 업계, 업데이트)
2014년 3월 15일 기술 뉴스 дайджест (웹개발, IT 업계, 프로젝트)
고처리량 및 저메모리 패턴 매칭 아키텍처
2014 년 7 월 2 일 기술 뉴스 요약 (웹개발, IT 업계, 프로젝트)
Carrier IQ 개인정보 수집 논란 및 2011년 12월 기술 동향
2012년 1,2월 브라우저 기술 동향
FlashTier: 고체 상태 캐시(SSC) 아키텍처
페이스북, Torch용 딥러닝 기술 오픈소스 공개
구루의 기술뉴스 80회차: DevOps 문화 및 주요 기술 동향
Deview 2020: AI 기술 세션 요약 (폰트, 로봇, TTS)
2015년 기술 트렌드 요약: 중국 모바일 UI, 구글 계획, 인터넷 패러다임
2013년 10월 기술 분야 추천 읽을거리 (Engadget)
2013년 주목할 오픈 소스 프로젝트
MIT Technology Review 선정 2013년 돌파구 기술 10선
구루의 기술뉴스: 페이스북의 PHP 사랑과 Hack 언어
구루의 기술뉴스: GitHub Atom 에디터 소개 (2014)
Discord의 메시지 저장 아키텍처: MongoDB에서 Cassandra로의 전환
UC Berkeley BDD100K 데이터셋 공개
B급 프로그래머 10월 3주 소식 (2014)
REST 아키텍처 스타일과 캐싱
2013 년 3 월 4 일 업무 및 개인 할 일 목록
구루의 기술뉴스 81회차 요약
카카오 블라인드 공채 플랫폼 취약점 분석 (2017)
실시간 웹 협업도구 만들기 (홍영택)
2013년 자바스크립트 프레임워크 인기 동향 (Caliper Blog)
2020 년 웹 성능에 영향을 줄 6 가지 기술 (Simon Hearne)
OCW 및 오픈 교육 자원 목록
기술 발전에 의한 일자리 소멸과 양극화
LinkedIn SNA 팀 오픈소스 프로젝트 및 연구 자료 아카이브
DB)
Meteor.js 시작하기 및 아키텍처 개요
IBM, 인간뇌처럼 연산하는 기술 개발
Countly: 실시간 모바일 앱 분석 도구
풀스택 JavaScript 프레임워크 학습 조언 (Quora)
신규 웹 서비스 뒷조사 방법론 및 urigit.com 사례 분석
Scala + Play Framework 2 Server 성능 향상 시키기
Google Stadia 기술 사양 요약
자바스크립트 동작 원리: 엔진, 런타임, 호출 스택
MIT가 주목한 6대 혁신 기술 (2013)
O 2013 핵심 요약 및 분석
imgix 성능 개선 및 문제 원인 분석 (2017)
AI 벤처기업 투자 열기 (2014)
러스트(Rust) 1.0 정식 버전 출시 임박 및 프로젝트 현황
WebAssembly (WASM) 개요 및 설계 목표
HTML5 Canvas 실시간 드로잉 성능 최적화 가이드
카프카-스파크 및 인덱스 기술 논의 요약
음성 AI 비즈니스 및 기술 전략 메모 (2021-07)
엑소브레인(Exobrain) 프로젝트 개요
GitHub의 jQuery 제거 사례
Thymeleaf 사용 후기 및 한계점 분석
HTTP Archive: jQuery 호스팅 및 버전 분산 분석 (2013)
Popular convention 개발기 참관 후기
웹 브라우저 동작 원리 (2) - 레이아웃 리플로우 최적화
Play Framework 개요
Popular Convention on Github 프로젝트 회고
Quora 의 Python 선택 배경 및 기술적 고려사항
HTML5 기반 프리젠테이션 도구 소개
미래산업을 바꿀 7 대 파괴적 혁신기술