¿Qué características de Facebook son las más complejas desde una perspectiva tecnológica?

La cultura de ingeniería de Facebook acepta fácilmente la complejidad en las soluciones, y felizmente intercambia la simplicidad para esencialmente cualquier otro objetivo. Por lo tanto, muchos de sus sistemas son muy complejos desde una perspectiva tecnológica. Aquí hay algunos puntos destacados.

  • HipHop, un transformador de fuente PHP a C ++ con una nueva implementación de la biblioteca estándar de PHP y un tiempo de ejecución de intérprete separado, HPHPi.
  • GateKeeper, un motor de reglas de negocio para decidir quién puede ver qué características del sitio.
  • Quickling + LinkController + BigPipe + Pagelets + …, un simulador de navegador escrito en Javascript que se ejecuta en el navegador del usuario.
  • Preparables, un mecanismo para pretender que PHP está diseñado para optimizar los patrones de acceso a datos.
  • Tareas, la herramienta de seguimiento de errores internos de Facebook.

Los controles de privacidad que menciona el autor de la pregunta también son complejos, pero diría que están al menos a un nivel o dos por debajo de la complejidad de estos sistemas.

Hmmm, pregunta difícil.

Después de haber construido una red social con las mismas características “básicas” que Facebook, no hay ninguna característica que destaque como un desafío significativamente mayor que el resto. Me imagino que las medidas de seguridad de la plataforma de desarrolladores serían el mayor logro técnico de los desarrolladores de Facebook, aunque lo que me impresiona de Facebook no es el código, sino la persistencia de la adaptación, no solo a las tendencias sino a los problemas de escalabilidad.

Cuando se trata de escalabilidad, se trata de números que ningún desarrollador en el planeta ha visto aún en una red social en línea. Si bien no tengo idea de cómo lo manejan, es impresionante pensar que lo están manejando.