2010-03-03 20 views
6

¿Qué tecnologías debo usar al diseñar para un sitio web social grande (con muchas transacciones, como Twitter)? el uso de soluciones de código abierto - base de datos de servidor web - - osSitio de alto rendimiento

Respuesta

10

Como se puede ver, que doesn' realmente importa lo que elijas; todos estos sitios tienen mucho tráfico, pero se basan en tecnologías muy diferentes.

+0

Facebook utiliza realmente una versión compilada a C++ de Php, compruébalo http://developers.facebook.com/news.php?story=358&blog=1 –

2

No importa qué tipo de lenguaje de scripting elija, siempre y cuando utilice en gran medida memcached. Tener la jerarquía correcta de caché es imprescindible.

+0

Pensé que todos estos frameworks (PHP, asp.net ...) ya tenían soporte de caché integrado – Jan

+0

Algunos lo hacen, algunos no (PHP a partir de 5.2/3, pero se puede incluir fácilmente a través de la extensión APC). El caso es que realmente QUIERES tener una JERARQUÍA de almacenamiento en caché. Tener varios niveles (al menos 3, contaré la capa de base de datos persistente) de cachés le permite distribuir los datos de acuerdo con su uso frecuente. – aefxx

2

Al final del día, esta es una cuestión de preferencia personal. Twitter usa Ruby on Rails. Wikipedia funciona en PHP. Reddit usa una biblioteca de Python llamada web.py, pero inicialmente, estaba escrita en Lisp. Yo diría que escoges las tecnologías con las que estás más familiarizado.

1

Como Joel says

La gente en todo el mundo están construyendo constantemente aplicaciones web utilizando .NET, utilizando Java, PHP y utilizando todo el tiempo. Ninguno de ellos está fallando debido a la elección de la tecnología.

elegir el que más de la "3 grandes" (.Net, Java o PHP) que mejor sabe - estas tecnologías son conocidos por ser escalable, la verdadera pregunta de si o no su sitio escalará es cómo el sitio está estructurado y la calidad del código, utilizando el marco con el que esté más familiarizado, le brinda la mejor oportunidad de lograrlo.

0

Cualquier tecnología que se adapte a sus gustos, en su situación creo que los algoritmos son más importantes.

6

Lo que más importa en los sitios de redes sociales es el backend, ya que la mayor parte del cuello de botella será a partir de ahí. Es posible que desee considerar las bases de datos sin SQL.

Hay algunos otros como:

En cuanto al lenguaje de programación, como otros han dicho, no importa mucho. Pero si realmente no puede decidir, es posible que desee considerar un servidor web no bloqueante como Tornado.

+0

Buena información sobre bases de datos. Siempre pensé en bases de datos relacionales donde la respuesta a sitios como Twitter y Facebook, pero aparentemente no – Marius

0

tecnologías, técnicas,

  • la investigación lo que otros sitios escalados han utilizado y hecho y cuáles son los problemas que tenían eran menos de lo que éxitos, hay podcasts en iTunes, charlas y entrevistas en Youtube
  • mirada en las mejores prácticas de la industria y síguelos hasta un grado
  • no tome la palabra de la gente para él, asegúrese de ver el problema o el éxito en comparación con el pr glitz al respecto
  • evitar cosas obvias que no escalan verticalmente u horizontal conectividad de base de datos, sesiones - cookies y similares
  • mire el almacenamiento nosql como una alternativa sql menos sobrecarga pero menos funcionalidad
  • tenga cuidado al mirar el lenguaje/marco. Los frameworks vienen con mucho equipaje que no necesitas, te aceleran inicialmente y te ralentizan eventualmente, es decir, pasas más tiempo pirateando el framework que construyendo el sitio, lo mismo con los idiomas hace lo que quieres en lugar de estar a la moda, cool en etc. programar
0

Si usted está construyendo algo como Facebook, a continuación, sus opciones son un poco limitado, Facebook hizo su propio PHP en tiempo de ejecución, compruebe HipHop For PHP

Cuestiones relacionadas