Capítulo 5. Concurrencia a escala

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

Ahora que has aprendido algunos patrones comunes para utilizar la concurrencia en Go, vamos a centrar nuestra atención en componer estos patrones en una serie de prácticas que te permitirán escribir sistemas grandes y componibles que escalen.

En este capítulo, hablaremos de formas de escalar operaciones concurrentes dentro de un único proceso, y también empezaremos a ver cómo entra en juego la concurrencia cuando se trata de más de un proceso.

Propagación de errores

Con el código concurrente, y especialmente con los sistemas distribuidos, es tan fácil que algo vaya mal en tu sistema como difícil entender por qué ha ocurrido. Puedes ahorrarte a ti mismo, a tu equipo y a tus usuarios un montón de dolor considerando cuidadosamente cómo se propagan los problemas a través de tu sistema, y cómo acaban siendo representados al usuario. En la sección "Tratamiento de errores", hablamos de cómo propagar errores desde goroutines, pero no dedicamos tiempo a discutir qué aspecto deben tener esos errores, ni cómo deben fluir los errores a través de un sistema grande y complejo. Dediquemos aquí algún tiempo a discutir una filosofía de la propagación de errores. Lo que sigue es un marco de opinión para tratar los errores en los sistemas concurrentes.

Muchos desarrolladores cometen el error de pensar en la propagación de errores como algo secundario, ...

Get Concurrencia en Go 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.