Post on 22-Jul-2015
CURSO: LENGUAJE DE PROGRAMACION II
ALUMNO: LUIS MIGUEL CONDORI LOPEZ
PROFESOR: EDDIE CHRISTIAN MALCA
VICENTE
Un servicio de red social es un medio de comunicación
social que se centra en establecer un contacto con otras
personas por medio de la internet.
Están conformadas por un conjunto de equipos, servidores,
programas, conductores, transmisores, receptores y por
supuesto, personas que comparten alguna relación,
principalmente de amistad, mantienen intereses y
actividades en común, o están interesados en explorar los
intereses y las actividades de otros.
Facebook es un sitio web de redes
sociales creado por Mark Zuckerberg y
fundado por Eduardo Saverin.
A continuación comentare sobre
algunos programas de código libre y
abierto, excepto Linux e Hive, el resto
son originales de los desarrolladores de
Facebook.
• Linux, el sistema operativo que administra los
recursos de cada servidor en Facebook.
• Apache, el servidor de páginas web.
• MySQL, el manejador de bases de datos, el que
almacena de forma estructurada los datos de
los usuarios.
• PHP, el lenguaje de programación que
automatiza la creación de páginas web.
• Cassandra para almacenar los datos de losusuarios de forma estructurada y distribuida.Cassandra pertenece a una segunda generaciónde bases de datos, bajo un paradigmadenominado NoSQL. Facebook hizo público elcódigo de Cassandra al tiempo que lo entregó ala comunidad Apache en el 2008.
Este es un proyecto auspiciado por la FundaciónApache. Entre sus varias funcionalidades destacauna fundamental para Facebook: el análisis degrandes conjuntos de datos sobre los cuales esposible inquirir, buscar información en ellos.
Podría decirse que Thrift es un kit de herramientas,uno especializado en la interoperabilidad delenguajes de programación. A través de ThriftFacebook ha combinado el uso de lenguajes tandistintos entre sí como C++, Java, Python, PHP, Ruby,Haskell, y más, a lo largo de todos sus equipos dedesarrollo.
Es un sistema de distribución y registro de mensajesen los servidores, tolerante a fallos y capaz defuncionar sobre una gran cantidad de equipos.
La parte visible de Facebook está escrita en su mayoríacon lenguaje PHP, por lo que su funcionamiento escrítico para todo el sistema. Siendo un lenguajeinterpretado tiene limitaciones que los lenguajescompilados no tienen. HipHop for PHP es untransformador de código PHP en código C++, por loque el resultado es un software de igual funcionalidad,pero optimizado para un alto desempeño. De hecho,Facebook afirma que gracias a HipHop for PHP usahasta 50% menos CPU que antes.
En principio Twitter es una red social, como lo es
Facebook, MySpace, MSN Live Messenger y otras. Pero lo
que la diferencia de las demás es la limitación para dejar
mensajes. Twitter permite a sus usuarios enviar y leer
textos de una longitud máxima de 140 caracteres
denominados como “tweets”. El envío de estos mensajes
se puede realizar tanto por el sitio web de Twitter, (o
aplicaciones web llamadas clientes), como también desde
teléfonos celulares. Estas actualizaciones se muestran en
la página de perfil del usuario.
• 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.
• Proyectos Apache usados en suinfraestructura y que nos estamosacostumbrando en ver en las grandes redessociales: Cassandra, Hadoop, Lucene, Pig. Enmuchos de ellos Twitter los haesponsorizado.
• Memcached para manejar la caché y escalar elcreciente tráfico de la plataforma. De ahí ha salido uninteresante proyecto abierto que han liberadorecientemente, Twemcache, ajustando susnecesidades a la base de Memcached.
• Lago es un generador de carga para testear el tráfico en producción.Es un herramienta fundamental para el entorno en el que se mueveTwitter con millones de peticiones en cortos espacios de tiempo.
• Zipkin ayuda a recolectar los tiempo de respuestas de las peticionesde la API de Twitter.
• Scalding es una librería de Scala que hace más sencillo escribir losjobs de MapReduce en Hadoop integrándose perfectamente con laScala y la JVM.
• Apache Mesos para construir aplicaciones distribuidas y compartirrecursos entre data center.
• No tan relacionada con la infraestructura, pero si uno de los proyectoproveniente de Twitter tenemos a Bootstrap que nos permite crearágiles páginas HTML5 con componentes potentes.
Creaciones liberadas por twitter:
Instagram es una aplicacióngratuita para iPhone o paradispositivos móviles Android,que te permite tomarfotografías y modificarlas conefectos especiales, para luegocompartirlas en redes sociales,como Facebook.
Python ha sido el lenguaje elegido y Django el frameworka utilizar para llevarlo a la web. Este servicio web ha sidoliberado utilizando gunicorn como servidor WSGI yNGINX para manejar las peticiones utilizando unesquema de balanceo de cargas
PostGreSQL ha sido el almacén principal de la mayoría delos datos creados por los usuarios. El equipo de desarrollocomenta que hace un año venían trabajando en cómoalmacenar 90 likes por segundo. Actualmente se almacenanmás de 10,000 likes por segundo y la tecnología paraalmacenar esta información no ha cambiado. Una vez máspodemos contemplar el gran poder de PostGreSQL frente aotros motores de base de datos.