Conferencias adicionales del curso "Diseño de sistemas altamente cargados" (otoño de 2018) en Technopolis

imagen

Continuamos publicando conferencias sobre el curso "Diseño de sistemas altamente cargados", que se imparte a estudiantes de la Universidad Politécnica de San Petersburgo por un equipo de ingenieros de Odnoklassniki como parte del programa de dos años "Desarrollador Java de aplicaciones altamente cargadas" del proyecto Technopolis (un proyecto conjunto del Grupo Mail.Ru y SPbPU). En 2017, se leyeron y subieron 10 conferencias (30 horas de video) , pero el tema Highload es tan extenso que es imposible cubrir todo en un semestre. Solo nos sumergimos brevemente en los aspectos principales del desarrollo de Highload, cada uno de los cuales merece un curso separado. Este año, continuamos cerrando puntos blancos y presentando a su atención un conjunto de seis conferencias sobre nuevos temas: comenzamos con la computación paralela y la codificación en vivo de la primera etapa de un proyecto de curso para estudiantes, después de lo cual nos sumergimos en las herramientas de diagnóstico y monitoreo de JVM, y luego pasamos a los problemas de tolerancia a fallas. Y después de una conferencia sobre algoritmos avanzados relevantes en proyectos altamente cargados, finalizamos el ciclo con una conferencia sobre enfoques existentes para la replicación y su aplicabilidad a diversas tareas.

Las primeras diez conferencias .

Lista de nuevas conferencias:

  1. Modelo de actor. Futuro Corrientes reactivas (incubadoras Vadim Tsesko )
  2. Livecoding de la segunda etapa del proyecto (Vadim Tsesko incubos )
  3. Monitoreo y diagnóstico de JVM (Andrey Pangin apangin )
  4. Ingeniería de confiabilidad del sitio ( jugador clave Anton Ivanov)
  5. Estructuras de datos "modernas" (Dmitry Shchitinin dormidoncheg )
  6. Replicación (Dmitry Shchitinin dormidoncheg )


Lección 11. Modelo de actor. Futuro Corrientes reactivas (incubadoras Vadim Tsesko )



Presentación
Video en el canal Technostream

La conferencia discute enfoques modernos para la organización de la computación paralela, que están ganando popularidad recientemente: Modelo de actor basado en la transmisión de mensajes en la implementación de Akka; Abstract Future / Promise, combinadores y devoluciones de llamada para organizar el procesamiento de datos asíncrono durante IO; y también revela la esencia de Reactive Streams para la transmisión de procesamiento de datos con contrapresión. Se proporcionan numerosos ejemplos del uso de enfoques en los sistemas existentes, así como enlaces para estudios independientes.

Lección 12. Livecoding de la segunda etapa del proyecto (Vadim Tsesko incubos )



Proyecto del curso
Video en el canal Technostream

Livecoding es la solución básica del proyecto que los estudiantes de Technopolis deben completar este año. Similar a la primera lección, con la única diferencia fundamental: esta vez cambiamos a un servidor web de alto rendimiento de one-nio. También esta vez grabamos un video con una demostración más detallada de la implementación de componentes.

Lección 13. Monitoreo y diagnóstico de JVM (Andrey Pangin apangin )



Presentación
Video en el canal Technostream

La conferencia presenta herramientas para monitorear una aplicación Java y analizar problemas comunes: puntos muertos, pérdidas de memoria, cuellos de botella de rendimiento. Consideramos tanto las utilidades estándar del JDK, como el popular software de terceros, y analizamos las capacidades de los perfiladores de Java. Muestra cómo JMX, JVM TI y otras interfaces ayudan en el desarrollo de sus propias herramientas de monitoreo y diagnóstico.

Lección 14. Ingeniería de confiabilidad del sitio ( jugador clave Anton Ivanov)



Presentación
Video en el canal Technostream

La conferencia cubre los conceptos básicos de la escritura de código tolerante a fallas. Se analizan los errores típicos, que en la práctica conducen a la caída de sistemas altamente cargados. La primera parte analiza los problemas que surgen a nivel de servicio: grupos de recursos, su sobrecarga, inicio lento y apagado correcto. En la segunda parte, pasamos al nivel de interacción entre servicios, discutiendo en detalle los tipos de tiempos de espera, técnicas de equilibrio y problemas de retransmisiones. La parte final aborda el monitoreo y la respuesta a incidentes.

Lección 15. Estructuras de datos "modernas" (Dmitry Shchitinin dormidoncheg )



Presentación
Video en el canal Technostream

La conferencia está dedicada a las estructuras de datos, que, por regla general, no se consideran en los cursos clásicos, pero se aplican efectivamente en la práctica en sistemas distribuidos altamente cargados. A menudo, estas son estructuras de datos probabilísticas, compactas y rápidas, pero que dan un resultado aproximado. Entonces, por ejemplo, usando HyperLogLog puede estimar el número de elementos diferentes en un conjunto de datos a partir de miles de millones de elementos, gastando no más de un kilobyte en él, y el resultado diferirá del exacto en solo un pequeño porcentaje. Una sección separada está dedicada a los enfoques para calcular los cuantiles; se consideran sus fortalezas y debilidades.

Lección 16. Replicación (Dmitry Shchitinin dormidoncheg )



Presentación
Video en el canal Technostream

La replicación junto con el fragmentación está en el corazón de los sistemas distribuidos tolerantes a fallas altamente cargados. La replicación con un único líder dedicado se usa ampliamente en RDBMS clásico. Una configuración con varios líderes distinguidos puede ocurrir con sistemas que operan en varios DC, y también surge en tareas de edición colaborativas. La replicación sin un líder dedicado está en el corazón de las bases de datos NoSQL como Cassandra, Voldemort, Riak, etc. La conferencia discute cada enfoque, su alcance, fortalezas y debilidades, así como detalles clave de implementación.



La lista de reproducción de todas las conferencias está en el enlace , así como en Youtube .

El proyecto del curso se encuentra aquí .
Se pueden encontrar varias soluciones entre las solicitudes de extracción cerradas .

Las transmisiones y grabaciones de video de otros cursos del proyecto Technopolis se pueden encontrar en el grupo oficial del proyecto en OK .

También le recordamos que el canal Technostream tiene conferencias y clases magistrales actualizadas sobre programación y análisis de datos de especialistas en TI de todos los proyectos educativos de Mail.Ru Group: Technoatom, Technopark, Technopolis, Technosphere y Technotrek.

Source: https://habr.com/ru/post/437858/


All Articles