Tecnologías detrás de las redes sociales

11
TECNOLOGÍAS DETRÁS DE LAS REDES SOCIALES Área: Lenguaje de programación II Profesor: Eddie Christian Malca Vicente Alumno: Sebastián Shapiama, Manuel Juni

Transcript of Tecnologías detrás de las redes sociales

TECNOLOGÍAS DETRÁS

DE LAS REDES SOCIALES

Área: Lenguaje de programación II

Profesor: Eddie Christian Malca VicenteAlumno: Sebastián Shapiama, Manuel Junior

FacebookSu infraestructura principal está formada por una red de más de 50 000 servidores queusan distribuciones del Sistema Operativo GNU/Linux usando LAMP.

Facebook

Facebook

Todo el sitio web de Facebook se basa en y alrededor

del preprocesador de hipertexto PHP. PHP es un

lenguaje de secuencia de comandos del lado del

servidor que crea y envía las páginas HTML dinámicas.

Un juego PHP que Facebook utiliza ampliamente para

convertir PHP a código C++ es el HipHop para el

marco PHP. Este conjunto de secuencias de comandos

le permite al sitio web funcionar mejor y obtener el

máximo rendimiento de sus servidores muy utilizados.

HipHop

for

Facebook cuenta con Memcached para depositar y almacenar las páginas web en

la memoria. El software actúa como una capa entre los servidores de alojamiento

regulares y sus servidores de bases de datos MySQL. Esto ayuda a que el sitio

cargue mucho más rápido que otros sitios de redes sociales, dando a los usuarios

una experiencia ininterrumpida casi sin fisuras. En general, el almacenamiento en

caché ayuda a acelerar los sitios web mediante el almacenamiento de archivos de

uso común y recuperándolos del buffer de memoria del servidor.

Facebook

Facebook

Desde junio de 2011, Facebook es el mayor

sitio web del mundo para compartir fotos en

internet. Para hacer frente a la gran cantidad

de fotos que subidas y vistas en el sitio web, la

empresa utiliza Haystack. Este software de

código abierto es una plataforma de

almacenamiento de objetos de alto

rendimiento, que cuenta da potencia a la

característica de fotos de Facebook. La

compañía ha ajustado Haystack para guardar

una foto cargada en cuatro resoluciones

diferentes para ayudar a acelerar el proceso de

recuperación, lo que depende del tamaño de la

foto requerida por el código PHP de

Facebook.

Facebook

MySQL, una base de datos de software de

código abierto, es uno de los principales

componentes de la tecnología detrás de

Facebook. Se implementa por medio de

cientos de miles de sitios web, ya que escala

muy bien, lo que permite al código PHP

recuperar rápidamente datos importantes, y

muchas veces, seguros. Facebook cuenta con

más de 30.000 servidores y una gran parte de

estos son servidores de bases de datos MySQL

FacebookApache Cassandra es una base de datos NoSQL distribuida y basada en un modelo de almacenamiento

de «clave-valor», escrita en Java. Permite grandes volúmenes de datos en forma distribuida. Por ejemplo,

lo usa Facebook y Twitter para su plataforma. Su objetivo principal es la escalabilidad lineal y la

disponibilidad. La arquitectura distribuida de Cassandra está basada en una serie de nodos iguales que se

comunican con un protocolo P2P con lo que la redundancia es máxima.

Cassandra está desarrollada por Apache Software Foundation.

•MySQL usada principalmente para almacenar los Tweets. Ellos han desarrollado su propio

fork para ajustarlo a la necesidades, por supuesto, abierto a la comunidad. En él se ha prestado

especial atención en la optimización y en el rendimiento, claves para el servicio.

•No podía faltar un clásico como Memcached para manejar la caché y escalar

el creciente tráfico de la plataforma. De ahí ha salido un interesante proyecto

abierto que han liberado recientemente, Twemcache, ajustando sus

necesidades a la base de Memcached.

“La razón por la que Twitter fue creado con Ruby on Rails es porque con

Rails se puede construir prototipos en un sólo día, incluso redes sociales.

Empezamos a usar ruby on rails para poder trabajar más rápido y de forma

más liviana y no estar tan atado con la estructura de Java”.- Evan Henshaw-Plath

•El abanico de proyectos Apache usados en su infraestructura y que nos estamos

acostumbrando en ver en las grandes redes sociales: Cassandra, Hadoop, Lucene, Pig. En

muchos de ellos Twitter los ha esponsorizado.