Anuncio

¿Cómo funciona Facebook? The Nuts and Bolts [Explicación de la tecnología] 0 introducción facebookLas redes sociales son el arte de conectarse con quienes comparten intereses comunes. Su "red" es una comunidad que lo ayuda a mantenerse unido con los demás y ofrece muchos beneficios. La creación de redes a través de sitios de redes sociales ha revolucionado la forma en que usamos Internet y está a la vanguardia de lo que ahora llamamos Web 2.0.

Facebook es redes sociales. Las personas se han estado "facebooking" entre sí durante unos 6 años, haciendo Facebook La red social más utilizada con más de 350 millones de usuarios en todo el mundo. ¿Pero cómo funciona Facebook?

En este artículo, hablaré sobre el funcionamiento interno de Facebook, cubriendo sus arquitectura e infraestructura frontend / backend "" los elementos básicos que mantienen unido a Facebook.

¿Cómo funciona Facebook? "" The Front End

Facebook utiliza una variedad de servicios, herramientas y lenguajes de programación para conformar su infraestructura principal. En la parte frontal, sus servidores ejecutan una pila LAMP (Linux, Apache, MySQL y PHP) con Memcache. ¿No eres un experto en informática? Echemos un vistazo a lo que eso significa exactamente.

instagram viewer

Linux y Apache

como funciona facebook

Esta parte se explica por sí misma. Linux es un núcleo de sistema operativo de computadora tipo Unix. Es de código abierto, muy personalizable y bueno para la seguridad. Facebook ejecuta el sistema operativo Linux en servidores HTTP Apache. apache también es gratuito y es el servidor web de código abierto más popular en uso.

MySQL

como funciona facebook

Para la base de datos, Facebook utiliza MySQL debido a su velocidad y confiabilidad. MySQL se utiliza principalmente como un almacén de valores clave ya que los datos se distribuyen aleatoriamente entre un gran conjunto de instancias lógicas. Estas instancias lógicas se distribuyen entre los nodos físicos y el equilibrio de carga se realiza a nivel del nodo físico.

En cuanto a las personalizaciones, Facebook ha desarrollado un esquema de partición personalizado en el que se asigna una ID global a todos los datos. También tienen un esquema de archivo personalizado que se basa en la frecuencia y la cantidad de datos recientes por usuario. La mayoría de los datos se distribuyen al azar.

PHP

como funciona facebook

Facebook usa PHP porque es un buen lenguaje de programación web con amplio soporte y una comunidad activa de desarrolladores y es bueno para una iteración rápida. PHP es un lenguaje de scripting interpretado / tipeado dinámicamente.

Memcache

como funciona facebook

Memcache es un sistema de almacenamiento en memoria caché que se utiliza para acelerar sitios web dinámicos basados ​​en bases de datos (como Facebook) almacenando datos y objetos en la memoria RAM para reducir el tiempo de lectura. Memcache es la forma principal de almacenamiento en caché de Facebook y ayuda a aliviar la carga de la base de datos.

Tener un sistema de almacenamiento en caché le permite a Facebook ser tan rápido como recuperar sus datos. Si no tiene que ir a la base de datos, solo obtendrá sus datos del caché en función de su ID de usuario.

Desventajas de usar LAMP

Facebook se ha dado cuenta de que hay inconvenientes en el uso de la pila LAMP. Cabe destacar que PHP no está necesariamente optimizado para sitios web grandes y, por lo tanto, es difícil de escalar. Además, no es el lenguaje de ejecución más rápido y el marco de extensión es difícil de usar.

como funciona facebook

Mike Schroepfer, vicepresidente de ingeniería de Facebook, recientemente hizo una entrevista en EmTech @ MIT acerca de esto. "Escalar cualquier sitio web es un desafío", dijo Schroepfer, "pero escalar una red social tiene desafíos únicos".

Continuó diciendo que, a diferencia de otros sitios web, no se pueden agregar más servidores para resolver el problema porque del "gran conjunto de datos interconectados" de Facebook Se crean nuevas conexiones todo el tiempo debido a la actividad del usuario.

Facebook ha crecido tan rápido que a menudo se enfrentan a problemas relacionados con consultas de bases de datos, almacenamiento en caché y almacenamiento de datos. Su base de datos es enorme y en gran parte complejo. Para dar cuenta de esto, Facebook ha comenzado muchos proyectos de código abierto y servicios de back-end.

¿Cómo funciona Facebook? "" El back end

Los servicios de backend de Facebook están escritos en una variedad de lenguajes de programación diferentes, incluidos C ++, Java, Python y Erlang. Su filosofía para la creación de servicios es la siguiente:

1. Crea un servicio si es necesario

2. Crear un marco / conjunto de herramientas para una creación de servicios más fácil

3. Utilice el lenguaje de programación adecuado para la tarea.

Puede encontrar una lista de todos los desarrollos de código abierto de Facebook aquí. Discutiré algunas de las herramientas esenciales que Facebook ha desarrollado.

Ahorro (protocolo)

¿Cómo funciona Facebook? The Nuts and Bolts [Tecnología explicada] 7 fb de segunda manoAhorro es un marco de llamadas de procedimiento remoto ligero para el desarrollo escalable de servicios en varios idiomas. Thrift es compatible con C ++, PHP, Python, Perl, Java, Ruby, Erlang y otros. Es rápido, ahorra tiempo de desarrollo y proporciona una división del trabajo en servidores y aplicaciones de alto rendimiento.

Escribano (servidor de registro)

Escriba es un servidor para agregar datos de registro transmitidos en tiempo real desde muchos otros servidores. Es un marco escalable útil para registrar una amplia gama de datos. Está construido encima de Thrift.

Cassandra (base de datos)

como funciona facebook

Cassandra es un sistema de administración de bases de datos diseñado para manejar grandes cantidades de datos distribuidos en muchos servidores. Impulsa la función de búsqueda en la bandeja de entrada de Facebook y proporciona una tienda de valores clave estructurada con una coherencia eventual.

HipHop para PHP

HipHop para PHP es un transformador de código fuente para el código de script PHP y fue creado para ahorrar recursos del servidor. HipHop transforma el código fuente PHP en C ++ optimizado. Después de hacer esto, usa g ++ para compilarlo en código máquina.

Conclusión

En pocas palabras, ese es Facebook. Este artículo podría fácilmente tener 37 páginas más si tuviera que entrar en más detalles, pero para responder la pregunta "¿Cómo funciona Facebook?" Creo que esto será suficiente. Si miras más allá de todas las características e innovaciones, la idea principal detrás de Facebook es realmente muy básica "" para mantener a las personas conectadas. Facebook se da cuenta del poder de las redes sociales y está constantemente innovando para mantener su servicio como el mejor en el negocio.

¿Te ha resultado útil este artículo? ¡Deja tus pensamientos, comentarios e ideas a continuación!

Steve, Community Manager en VaynerMedia, es un apasionado de las redes sociales y la construcción de marca.