Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2014 ChattingCat service architecture

1,836 views

Published on

2014 채팅캣 서비스 아키텍처

Published in: Engineering
  • Login to see the comments

2014 ChattingCat service architecture

  1. 1. ChattingCat ! Service Architecture! Geun / geun@chattingcat.com / geunbae.com!
  2. 2. 안녕하세요. 이근배입니다.! Rails! 20+! 3(6)!
  3. 3. 오늘 다룰 이야기! Rails로 운영되는 채팅캣 이야기!
  4. 4. 채팅캣은?! 원어민! 영작 교정! 서비스! 실시간!
  5. 5. Websocket! XMPP! CometD!Polling! Keepalive! 등을 이용하여, 바로 바로 ! 채팅캣은?! 원어민! 서비스! 실시간! 교정!영작!
  6. 6. 원어민! 서비스! 실시간! 미국! 영국! 에 거주하는 원어민 튜터와! 채팅캣은?! 교정!영작! 한국! 일본! 에 거주하는 학생에게!
  7. 7. 요렇게 바꿔주는! my name geun is! My name is Geun.! 채팅캣은?! 원어민! 서비스! 실시간! 교정!영작!
  8. 8. 웹도 하고 앱도 하고! 관리자페이지도 만들고! 채팅캣은?! 원어민! 서비스! 실시간! 교정!영작!
  9. 9. Express! MongoDB! Node.js를 이용한! MVP 버전! Socket.io! 도메인에서 express로 바로 연결! 정적, 동적 데이터 모두처리! 가끔 이유없이 죽음!
  10. 10. Rails3! (unicorn)! PostgreSQL! Rails를 이용한! MVP 버전! Faye! Rails의 Assets은 Nginx에서 캐싱! Socket.io == Faye ! Web 버전에는 충분(일본 linode)! Nginx! Sidekiq! Redis!
  11. 11. Amazone AWS를! 사용하는 채팅캣! AWS Tokyo! Router53! ELB! Nginx(reverse-proxy)! Haproxy! Rails4(torquebox3)! Jboss(Infinispan, HorrentQ)! PostgreSQL! Redis!Elastic Search! Logstash!
  12. 12. Microservice! Architecture! Oauth2 & Api! API! Log! Api간 overhead 발생! API! Core! API! Message! 독립적으로 유지 / 배포! 자유자재로 Meshup! Web! App! Admin!
  13. 13. Database ! & Caching! pgBouncer! Infinispan7 (Memory data grid)! Rails! PostgreSQL! Master! Redis Master! Query Offload! PostgreSQL! Slave! Gem “Octopus” ! Gem “Redis-object” ! Redis slave!
  14. 14. 2015년! 채팅캣! Jruby9! Torquebox4! Mutithread with Celluloid! Packer, Docker, Serf !
  15. 15. 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/!
  16. 16. Jruby, Rails4, Docker, Erlang, Scala, AngularJS! Jruby를 이용한 고성능 웹 어플리케이션! Apache Spark를 이용한 실시간 Context 분석! MPTT를 이용한 대규모 Messaging ! Mallet, LDA를 이용한 실시간 튜터 추천/매칭 시스템! 채팅캣에서 선수(개발자)를 모십니다. ! 막간 광고! geun / geun@chattingcat.com / geunbae.com! AngularJS를 이용한 SPA 제작!

×