Skip to Main Content
Aprender Go, 2ª Edición
book

Aprender Go, 2ª Edición

by Jon Bodner
August 2024
Intermediate to advanced content levelIntermediate to advanced
494 pages
13h 30m
Spanish
O'Reilly Media, Inc.
Book available
Content preview from Aprender Go, 2ª Edición

Capítulo 14. El contexto

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

Los servidores necesitan una forma de gestionar los metadatos sobre las solicitudes individuales. Estos metadatos se dividen en dos categorías generales: metadatos necesarios para procesar correctamente la solicitud, y metadatos sobre cuándo dejar de procesar la solicitud. Por ejemplo, un servidor HTTP podría querer utilizar un ID de seguimiento para identificar una cadena de solicitudes a través de un conjunto de microservicios. También podría querer establecer un temporizador que finalice las peticiones a otros microservicios si tardan demasiado.

Muchos lenguajes utilizan variables threadlocal para almacenar este tipo de información, asociando los datos a un hilo de ejecución específico del sistema operativo. Esto no funciona en Go porque las goroutines no tienen identidades únicas que puedan utilizarse para buscar valores. Y lo que es más importante, las threadlocals parecen mágicas; los valores van a un sitio y aparecen en otro.

Go resuelve el problema de los metadatos de solicitud con una construcción llamada contexto. Veamos cómo utilizarlo correctamente.

¿Cuál es el contexto?

En lugar de añadir una nueva característica al lenguaje, un contexto es simplemente una instancia que cumple la interfaz Context definida en el paquete context. Como sabes, el Go idiomático fomenta el paso explícito de datos mediante parámetros de función. ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Herramientas DevOps para desarrolladores Java

Herramientas DevOps para desarrolladores Java

Stephen Chin, Melissa McKay, Ixchel Ruiz, Baruch Sadogursky
Q# Pocket Guide

Q# Pocket Guide

Mariia Mykhailova

Publisher Resources

ISBN: 9781098180157Supplemental Content