인기 있는 소셜 네트워크 서비스로 본 아키텍처
새로운 웹 서비스를 만들때 다른 곳은 어떤 아키텍처, 어떤 프로그래밍 언어를 사용했는지 궁금하고 왜 그런 선택을 했는지 알고 싶을때가 있죠.
혹은 프로그래밍 언어를 공부하고 싶은데 어떤 언어를 선택해야 될지 고민되실때 생각하는 서비스 혹은 업체가 사용하는 언어를 보고 시작해보는 것도 나쁘지 않을거 같습니다.
아래에 정리된 내용의 출처는 레퍼런스에 링크주소를 남겼으니 꼭 방문해보실길 권장합니다.
그리고 현재의 서비스 정보와는 차이가 있을 수 있음을 감안해주세요.
아래 내용 이전에 "Programming languages used in most popular websites" 방문하시면 인기 사이트에서 사용하는 언어를 확인 하실 수 있습니다.
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.Redis, protobuf-net |
Language | C# |
Web Framework | ASP.NET MVC |
Front-end Framework | jQuery, MathJax, less, Prettify |
Source Control | Git |
CDN Domain | sstatic.net |
Cloud Computing / Hosting | QTS, Internap, PEER1, PEAK Internet |
Etc. | Elasticsearch, Kiln, Cacti, TeamCity, DotNetOpenId, reCAPTCHA, LINQ to SQL, Dapper |
References |
Quora
site | http://quora.com |
---|---|
Operating System | Ubuntu Linux |
Web Server | Nginx, HAProxy |
Database | MySQL |
Cache / Additional Data | Memcached |
Language | Python, C++, Scala |
Web Framework | Pylons framework |
Front-end Framework | jQuery, MathJax |
Source Control | Git |
CDN Domain | quoracdn.net |
Cloud Computing / Hosting | Amazon EC2, S3, Cloudfront |
Etc. | Thrift, Tornado |
References |
site | http://facebook.com |
---|---|
Operating System | CentOS Linux |
Web Server | Apache |
Database | MySQL |
Cache / Additional Data | Cassandra , Memcached, Varnish |
Language | PHP(HACK), C++, D Lang, Erlang |
Web Framework | - |
Front-end Framework | React |
Source Control | Git |
CDN Domain | akamaihd.net |
Cloud Computing / Hosting | - |
Etc. | BigPipe, Hadoop, Hive |
References |
site | http://twitter.com/ |
---|---|
Operating System | Linux |
Web Server | mongrel |
Database | MySQL |
Cache / Additional Data | Memcached, FlockDB |
Language | Ruby, Java, Scala, Erlang |
Web Framework | Ruby on Rails |
Front-end Framework | jQuery, Hogan.js, MediaElement.js |
Source Control | Git |
CDN Domain | twimg.com |
Cloud Computing / Hosting | Amazon EC2, S3 |
Etc. | Munin, Nagios, AWStats |
References |
site | http://pinterest.com |
---|---|
Operating System | Linux |
Web Server | Nginx |
Database | MySQL, MongoDB |
Cache / Additional Data | Memcache, Redis |
Language | Python |
Web Framework | Django |
Front-end Framework | - |
Source Control | - |
CDN Domain | pinimg.com |
Cloud Computing / Hosting | Amazon EC2, S3, Edge Cast, Akamai, Level3 |
Etc. | Solr, Hadoop |
References |
site | http://instagram.com |
---|---|
Operating System | Ubuntu Linux |
Web Server | Nginx, gunicorn, HAProxy |
Database | PostgreSQL |
Cache / Additional Data | Memcache, Redis |
Language | Python |
Web Framework | Django |
Front-end Framework | jQuery, React, webpack, ZeroClipboard, Numeral, Modernizr, WebFontLoader |
Source Control | - |
CDN Domain | akamaihd.net |
Cloud Computing / Hosting | Amazon EC2, S3 , CloudFront, ELB, Route53 |
Etc. | postgis, pgfouine, pgbouncer, Gearman, Solr, Munin, statsd, Pingdom, Fabric, xfs |
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 | jQuery, BackboneJS, RequireJS, MomentJS, Modernizr, Sentry |
Source Control | Git |
CDN Domain | disquscdn.com |
Cloud Computing / Hosting | - |
Etc. | Slony, heartbeat |
References |
site | http://linkedin.com |
---|---|
Operating System | Solaris Linux |
Web Server | Tomcat, Jetty |
Database | Oracle, MySQL |
Cache / Additional Data | - |
Language | Java, Scala |
Web Framework | Spring, Play Framework |
Front-end Framework | YUI |
Source Control | - |
CDN Domain | licdn.com |
Cloud Computing / Hosting | - |
Etc. | ActiveMQ, Lucene |
References |
Youtube
site | http://youtube.com |
---|---|
Operating System | Linux |
Web Server | Apache, Lighttpd |
Database | MySQL, BigTable |
Cache / Additional Data | - |
Language | Python |
Web Framework | - |
Front-end Framework | SPF, html5player |
Source Control | - |
CDN Domain | ytimg.com |
Cloud Computing / Hosting | - |
Etc. | Zookeeper, Vitess, wiseguy, pycurl, spitfire, bson |
References |
site | http://reddit.com |
---|---|
Operating System | Linux |
Web Server | Nginx, HAProxy |
Database | PostgreSQL |
Cache / Additional Data | Cassandra, Memcached |
Language | Python, C |
Web Framework | Pyramid Framework |
Front-end Framework | jQuery, BackboneJS, CoffeeScript |
Source Control | Git |
CDN Domain | redditstatic.com |
Cloud Computing / Hosting | Amazon EC2, CloudFlare |
Etc. | RabbitMQ |
References |
Line
site | http://line.me |
---|---|
Operating System | CentOS Linux |
Web Server | Nginx |
Database | MySQL |
Cache / Additional Data | Redis, HBase, Cassandra, Arcus, Erlang |
Language | - |
Web Framework | - |
Front-end Framework | - |
Source Control | Git |
CDN Domain | - |
Cloud Computing / Hosting | - |
Etc. | Hadoop, Hive, Tajo, Shark, Spark, Zeppelin, Kafka, Elasticsearch, Titan |
References |
Kakao
site | http://kakao.com |
---|---|
Operating System | CentOS Linux |
Web Server | - |
Database | MariaDB, TokuDB |
Cache / Additional Data | Redis, Memched, HBase, Cassandra |
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를 도입하는 모습을 보이고 있었습니다.
여러분은 어떤 언어, 어떤 아키텍처로 서비스를 만들지 정하셨습니까?
함께보기
- wikipedia: Programming languages used in most popular websites
- HotFrameworks: Web framework rankings
- BuilWith: Framework Usage Statistics
- BuilWith: JavaScript Usage Statistics
- Архитектура высоконагруженных систем
- W3Techs - World Wide Web Technology Surveys
- Facebook Style Messaging System Database Design.
- Wall Database Design
- 소셜 네트워크 서비스의 아키텍처에 대하여
- ‘비트윈’ 시스템 아키텍처로 본 아키텍처의 모든 것
- 카카오뱅크는 어떤 기술을 사용했나?