Capítulo 81. Hilos y concurrencia en el tratamiento de datos

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Doctor Matthew Housley

En un entorno moderno típico, los datos fluyen a través de complejos sistemas distribuidos en cada etapa de una canalización de datos, y los servidores deben mantener de forma fiable numerosas conexiones con sus pares. La interrupción de Amazon Kinesis a finales de 2020 ilustra las consecuencias de ignorar los problemas de concurrencia.

La interrupción, que se produjo el 25 de noviembre, afectó a una gran parte de Internet. En este debate, daré por sentado que has leído el informe oficial de Amazon. El informe descubre varios errores de ingeniería, pero nos centraremos principalmente en los límites de la concurrencia basada en hilos.

Roscado del sistema operativo

Cada servidor frontend crea hilos del sistema operativo para cada uno de los demás servidores de la flota frontend.

En Linux y en la mayoría de los sistemas operativos modernos, los hilos son un mecanismo que permite a una CPU ejecutar un número de tareas concurrentes muy superior al número de núcleos de CPU disponibles. Un hilo tiene acceso a un núcleo de la CPU durante un tiempo asignado; cuando el tiempo se agota, el estado del hilo se vuelca a la memoria del sistema, y el siguiente hilo se carga en el núcleo. Los ...

Get 97 cosas que todo ingeniero de datos debe saber now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.