인기 있는 소셜 네트워크 서비스의 아키텍처-StackOverflow, Quora, Facebook, Twitter, Pinterest, Instagram, Disqus, Linkedin, Youtube, Line, Kakao

CODEDRAGON Development/Software Engineering

반응형

   

   

인기 있는 소셜 네트워크 서비스의 아키텍처

  • StackOverflow
  • Quora
  • Facebook
  • Twitter
  • Pinterest
  • Instagram
  • Disqus
  • Linkedin
  • Youtube
  • Line
  • Kakao

   

   

StackOverflow

site

http://stackoverflow.com

Operating System

Microsoft Windows Server 2012 x64

Web Server

IIS 8.0, HAProxy

Database

SQL Server 2014

Cache / Additional Data

StackExchange.Redisprotobuf-net

Language

C#

Web Framework

ASP.NET MVC

Front-end Framework

jQueryMathJaxlessPrettify

Source Control

Git

CDN Domain

sstatic.net

Cloud Computing / Hosting

QTSInternapPEER1PEAK Internet

Etc.

ElasticsearchKilnCactiTeamCityDotNetOpenIdreCAPTCHALINQ to SQLDapper

References

   

   

Quora

site

http://quora.com

Operating System

Ubuntu Linux

Web Server

NginxHAProxy

Database

MySQL

Cache / Additional Data

Memcached

Language

PythonC++Scala

Web Framework

Pylons framework

Front-end Framework

jQueryMathJax

Source Control

Git

CDN Domain

quoracdn.net

Cloud Computing / Hosting

Amazon EC2S3Cloudfront

Etc.

ThriftTornado 

References

   

   

Facebook

   

   

Twitter

site

http://twitter.com/

Operating System

Linux

Web Server

mongrel

Database

MySQL

Cache / Additional Data

MemcachedFlockDB

Language

RubyJavaScalaErlang

Web Framework

Ruby on Rails

Front-end Framework

jQueryHogan.jsMediaElement.js

Source Control

Git

CDN Domain

twimg.com

Cloud Computing / Hosting

Amazon EC2S3

Etc.

MuninNagiosAWStats

References

   

   

Pinterest

site

http://pinterest.com

Operating System

Linux

Web Server

Nginx

Database

MySQLMongoDB

Cache / Additional Data

MemcacheRedis

Language

Python

Web Framework

Django

Front-end Framework

-

Source Control

-

CDN Domain

pinimg.com

Cloud Computing / Hosting

Amazon EC2S3, Edge Cast, Akamai, Level3

Etc.

SolrHadoop

References

   

   

Instagram

site

http://instagram.com

Operating System

Ubuntu Linux

Web Server

NginxgunicornHAProxy

Database

PostgreSQL

Cache / Additional Data

MemcacheRedis

Language

Python

Web Framework

Django

Front-end Framework

jQueryReactwebpackZeroClipboardNumeralModernizrWebFontLoader

Source Control

-

CDN Domain

akamaihd.net

Cloud Computing / Hosting

Amazon EC2S3 , CloudFront, ELB, Route53

Etc.

postgispgfouinepgbouncerGearmanSolrMuninstatsdPingdomFabricxfs

References

   

   

Disqus

site

http://disqus.com

Operating System

Linux

Web Server

Apache , mode_wsgi, HAProxy

Database

PostgreSQL

Cache / Additional Data

Memcached

Language

Python

Web Framework

Django

Front-end Framework

jQueryBackboneJSRequireJSMomentJSModernizrSentry

Source Control

Git

CDN Domain

disquscdn.com

Cloud Computing / Hosting

-

Etc.

Slonyheartbeat

References

   

   

Linkedin

site

http://linkedin.com

Operating System

Solaris Linux

Web Server

TomcatJetty

Database

OracleMySQL

Cache / Additional Data

-

Language

JavaScala

Web Framework

SpringPlay Framework

Front-end Framework

YUI

Source Control

-

CDN Domain

licdn.com

Cloud Computing / Hosting

-

Etc.

ActiveMQLucene

References

   

   

Youtube

site

http://youtube.com

Operating System

Linux

Web Server

Apache, Lighttpd

Database

MySQLBigTable

Cache / Additional Data

-

Language

Python

Web Framework

-

Front-end Framework

SPF, html5player

Source Control

-

CDN Domain

ytimg.com

Cloud Computing / Hosting

-

Etc.

ZookeeperVitess, wiseguy, pycurl, spitfire, bson

References

   

   

Line

   

   

Kakao

site

http://kakao.com

Operating System

CentOS Linux

Web Server

-

Database

MariaDB, TokuDB

Cache / Additional Data

RedisMemchedHBaseCassandra

Language

Ruby

Web Framework

Ruby on Rails

Front-end Framework

RequireJS

Source Control

-

CDN Domain

-

Cloud Computing / Hosting

kakaocdn.net

Etc.

-

References

   

   

Quora는 Facebook에서 PHP의 문제점을 인지하고 다른 언어를 선택하고자 했습니다. JAVA, Python, Ruby 중에서 PHP에서 느낀 개발 시간의 편의성으로 JAVA는 탈락했고 Ruby보단 Python을 사용하는 개발자가 Quora 개발팀에 많아서 선택했다고 합니다.하지만 최근 일부 몇몇 서비스에서 Quora에선 Scala를 도입하고 있다고 합니다.

   

Twitter는 Ruby로 개발되었지만 최근에 Scala를 사용을 늘려가고 있다고 합니다.

   

신생 서비스 업체는 Python 기반의 Django를 많이 사용하고 있었습니다.

위에 나열하진 않았지만 국내 스타트업도 Django를 많이 도입하고 있었습니다.

   

Ruby, Python은 서비스 시작 언어로 많이 사용하고 있고 많은 방문자를 커버하고 있었지만 더 좋은 방향으로 고민하는 개발팀에서는 JAVA를 일정 부분 사용하는 모습이었고, 다시 JAVA의 장점을 이어받은 Scala를 도입하는 모습을 보이고 있었습니다.

   

   

   

출처: <http://blog.gaerae.com/2015/07/sns-architecture.html#.VZkgO_ntlBd>