ݺߣ

ݺߣShare a Scribd company logo
ChattingCat !
Service Architecture!
Geun / geun@chattingcat.com / geunbae.com!
안녕하세요. 이근배입니다.!
Rails! 20+! 3(6)!
오늘 다룰 이야기!
Rails로 운영되는 채팅캣 이야기!
채팅캣은?!
원어민!
영작 교정! 서비스!
실시간!
2014 ChattingCat service architecture
Websocket!
XMPP!
CometD!Polling!
Keepalive!
등을 이용하여, 바로 바로 !
채팅캣은?!
원어민!
서비스!
실시간!
교정!영작!
원어민!
서비스!
실시간!
미국! 영국! 에 거주하는 원어민 튜터와!
채팅캣은?!
교정!영작!
한국! 일본! 에 거주하는 학생에게!
요렇게 바꿔주는!
my name geun is!
My name is Geun.!
채팅캣은?!
원어민!
서비스!
실시간!
교정!영작!
웹도 하고 앱도 하고!
관리자페이지도 만들고!
채팅캣은?!
원어민!
서비스!
실시간!
교정!영작!
Express!
MongoDB!
Node.js를 이용한!
MVP 버전!
Socket.io!
도메인에서 express로 바로 연결!
정적, 동적 데이터 모두처리!
가끔 이유없이 죽음!
Rails3!
(unicorn)!
PostgreSQL!
Rails를 이용한!
MVP 버전!
Faye!
Rails의 Assets은 Nginx에서 캐싱!
Socket.io == Faye !
Web 버전에는 충분(일본 linode)!
Nginx!
Sidekiq!
Redis!
Amazone AWS를!
사용하는 채팅캣!
AWS Tokyo!
Router53!
ELB!
Nginx(reverse-proxy)!
Haproxy!
Rails4(torquebox3)!
Jboss(Infinispan, HorrentQ)!
PostgreSQL! Redis!Elastic Search!
Logstash!
Microservice!
Architecture!
Oauth2 & Api!
API!
Log!
Api간 overhead 발생!
API!
Core!
API!
Message!
독립적으로 유지 / 배포!
자유자재로 Meshup!
Web! App! Admin!
Database !
& Caching!
pgBouncer!
Infinispan7 (Memory data grid)!
Rails!
PostgreSQL!
Master!
Redis Master!
Query Offload!
PostgreSQL!
Slave!
Gem “Octopus” !
Gem “Redis-object” !
Redis slave!
2015년!
채팅캣!
Jruby9!
Torquebox4!
Mutithread with Celluloid!
Packer, Docker, Serf !
http://torquebox.org/news/2014/12/05/!
torquebox-4-0-0-alpha1-released/!
루비는 느려서 못써먹겠다?!
HTTP/1.1 200 OK!
Content-Type: application/json; charset=UTF-8!
Content-Length: 28!
Server: Example!
Date: Wed, 17 Apr 2013 12:00:00 GMT!
!
{"message":"Hello, World!"}!
http://www.techempower.com!
/benchmarks/!
Jruby, Rails4, Docker, Erlang, Scala, AngularJS!
Jruby를 이용한 고성능 웹 어플리케이션!
Apache Spark를 이용한 실시간 Context 분석!
MPTT를 이용한 대규모 Messaging !
Mallet, LDA를 이용한 실시간 튜터 추천/매칭 시스템!
채팅캣에서 선수(개발자)를 모십니다. !
막간 광고!
geun / geun@chattingcat.com / geunbae.com!
AngularJS를 이용한 SPA 제작!

More Related Content

Similar to 2014 ChattingCat service architecture (20)

PDF
채팅서버의 부하 분산 사례
John Kim
PDF
Node-express 채팅 서버 개발기
정웅 박
PDF
[RAG Tutorial] 02. RAG 프로젝트 파이프라인.pdf
HyunKyu Jeon
PDF
루비온레일즈로 카카오톡 봇 만들기
Junghyun Park
PPTX
[명우니닷컴]웹보안채팅 Isyouchat
Myeongun Ryu
PDF
채팅 소스부터 Https 주소까지
Kenu, GwangNam Heo
PDF
Python으로 채팅 구현하기
Tae Young Lee
PPTX
실시간통신
Woojing Seok
PDF
모바일 메신저 아키텍쳐 소개
Hyogi Jung
PPTX
kt-cloud
Kenu, GwangNam Heo
PDF
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
John Kim
PDF
스마일게이트 서버개발캠프 - 1박2이 - 맞춤법 검사 채팅 서비스
ServerDevCamp
PDF
Django로 구현하는 카카오 챗봇
김용범 | 무영인터내쇼날
PDF
Play node conference
John Kim
PPT
Rhea_MMO_SNG_Convergence_Server_Architecture
Rhea Strike
PPTX
고급시스템프로그래밍 Project#2 20123222_서기원
giwon seo
PPTX
익명 채팅 앱 최종 발표 자료
Young-jun Park
PPTX
Startup JavaScript 9 - Socket.IO 실시간 통신
Circulus
PPTX
부동산 텔레그램봇 사내공유 @Tech
HoChul Shin
PPTX
모바일 네트워크 친화적인 글로벌 메시징 서비스 - ChatON 개발
Jay JH Park
채팅서버의 부하 분산 사례
John Kim
Node-express 채팅 서버 개발기
정웅 박
[RAG Tutorial] 02. RAG 프로젝트 파이프라인.pdf
HyunKyu Jeon
루비온레일즈로 카카오톡 봇 만들기
Junghyun Park
[명우니닷컴]웹보안채팅 Isyouchat
Myeongun Ryu
채팅 소스부터 Https 주소까지
Kenu, GwangNam Heo
Python으로 채팅 구현하기
Tae Young Lee
실시간통신
Woojing Seok
모바일 메신저 아키텍쳐 소개
Hyogi Jung
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
John Kim
스마일게이트 서버개발캠프 - 1박2이 - 맞춤법 검사 채팅 서비스
ServerDevCamp
Django로 구현하는 카카오 챗봇
김용범 | 무영인터내쇼날
Play node conference
John Kim
Rhea_MMO_SNG_Convergence_Server_Architecture
Rhea Strike
고급시스템프로그래밍 Project#2 20123222_서기원
giwon seo
익명 채팅 앱 최종 발표 자료
Young-jun Park
Startup JavaScript 9 - Socket.IO 실시간 통신
Circulus
부동산 텔레그램봇 사내공유 @Tech
HoChul Shin
모바일 네트워크 친화적인 글로벌 메시징 서비스 - ChatON 개발
Jay JH Park

2014 ChattingCat service architecture