Capítulo 9. Primitivas distribuidas

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

Las primitivas de datos son bastante sencillas cuando se trata de un programa de un solo hilo. ¿Quieres hacer un bloqueo? Sólo tienes que utilizar un booleano. ¿Quieres un almacén de claves/valores? Una instancia de Map es tu amiga. ¿Quieres guardar una lista ordenada de datos? Busca un array. Cuando sólo un hilo lee y escribe en un array, es tan sencillo como llamar a Array#push() y Array#pop(). En esta situación, la instancia del array es la fuente completa de la verdad. No hay otras copias que puedan desincronizarse, ni mensajes en tránsito que puedan recibirse fuera de orden. Persistir los datos en el disco es tan sencillo como llamar a JSON.stringify() y fs.writeFileSync().

Desgraciadamente, el impacto en el rendimiento de este enfoque es enorme, y ampliarlo a una base de usuarios considerable es casi imposible. Por no mencionar que un sistema así tiene un único punto de fallo. En cambio, como has visto a lo largo de este libro, la respuesta al rendimiento y a evitar un único punto de fallo depende de procesos distribuidos redundantes. Hay que tener cuidado con el almacenamiento y la manipulación de los datos, sobre todo cuando se trata de sistemas distribuidos.

No todos los problemas pueden resolverse utilizando el mismo almacén de datos. Dependiendo de los requisitos de los datos -como las relaciones entre entidades, la ...

Get Sistemas distribuidos con Node.js 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.