Este contenido está desactualizado. Esta versión de Well-Architected Framework se encuentra ahora en: https://docs.aws.amazon.com/es_es/wellarchitected/2022-03-31/framework/reliability.html

REL 4: ¿Cómo diseña interacciones en un sistema distribuido para evitar errores?

Los sistemas distribuidos dependen de las redes de comunicación para interconectar los componentes, como servidores o servicios. A pesar de la pérdida de datos o la latencia en estas redes, su carga de trabajo debe operar de manera confiable. Los componentes del sistema distribuido deben funcionar de manera que no afecten negativamente a otros componentes o a la carga de trabajo. Las prácticas recomendadas evitan errores y mejoran el tiempo promedio entre los errores (MTBF).

Recursos

AWS re:Invent 2019: Moving to event-driven architectures (SVS308)
AWS re:Invent 2018: Close Loops and Opening Minds: How to Take Control of Systems, Big and Small ARC337 (includes loose coupling, constant work, static stability)
AWS New York Summit 2019: Intro to Event-driven Architectures and Amazon EventBridge (MAD205)
What Is Amazon EventBridge?
What Is Amazon Simple Queue Service?
Amazon EC2: Ensuring Idempotency
The Amazon Builders' Library: Challenges with distributed systems

Prácticas recomendadas:

Plan de mejora

Identifique qué tipo de sistema distribuido se requiere

  • Identifique qué tipo de sistema distribuido se requiere: Los desafíos con los sistemas distribuidos incluían latencia, escalado, comprensión de las API de redes, serialización y deserialización de datos y la complejidad de algoritmos como Paxos. A medida que los sistemas se hacen más grandes y más distribuidos, lo que habían sido casos de borde teóricos se convierten en ocurrencias regulares.
    The Amazon Builders' Library: Challenges with distributed systems
  • Implemente dependencias con acoplamiento bajo

  • Implemente dependencias con acoplamiento bajo: Las dependencias, como los sistemas de cola, los sistemas de streaming, los flujos de trabajo y los balanceadores de carga, están acopladas en un nivel bajo. El bajo acoplamiento ayuda a aislar el comportamiento de un componente de los demás componentes que dependen de él, lo que aumenta la resistencia y la agilidad
    AWS re:Invent 2019: Moving to event-driven architectures (SVS308)
    What Is Amazon EventBridge?
    What Is Amazon Simple Queue Service?
  • Proporcione respuestas idempotentes

  • Proporcione respuestas idempotentes: Un servicio idempotente garantiza que cada solicitud se complete exactamente una vez, de manera que hacer múltiples solicitudes idénticas tiene el mismo efecto que hacer una solicitud única.
  • Realice un trabajo constante

  • Realice un trabajo constante: Los sistemas pueden producir errores cuando hay cambios grandes y rápidos en la carga
    AWS re:Invent 2018: Close Loops and Opening Minds: How to Take Control of Systems, Big and Small ARC337 (includes constant work)