<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Event Driven Architecture by </title>
      <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu</link>
      <description></description>
      <language>en-us</language>
      <pubDate>2024-10-15 21:49:40 UTC</pubDate>
      <lastBuildDate>2024-10-22 22:32:06 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url>https://padlet-uploads.storage.googleapis.com/2136514610/bcad36048a98613b43718b126bee4c4b/wallhaven_1pwq23.png</url>
      </image>
      <item>
         <title>Descripción</title>
         <author>zs20015709</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3171012419</link>
         <description><![CDATA[<p>El Event Driven Architecture o la arquitectura orientada a eventos es un estilo de arquitectura distribuida asíncrona utilizada para crear aplicaciones de alto rendimiento y escalabilidad. Esta arquitectura se basa en componentes desacoplados que reciben y procesan eventos de manera asíncrona. Estos eventos pueden desencadenar flujos de trabajo o acciones específicas dentro de los componentes del sistema. La arquitectura puede implementarse como un modelo autónomo o integrarse en otros estilos, como en una arquitectura de microservicios orientada a eventos.</p>]]></description>
         <enclosure url="https://www.youtube.com/watch?v=GdelFsukQwE" />
         <pubDate>2024-10-15 22:07:42 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3171012419</guid>
      </item>
      <item>
         <title>Ventajas</title>
         <author>zs20015709</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3171018918</link>
         <description><![CDATA[<ul><li><p><strong>Desacoplamiento</strong>: Los productores y consumidores están desacoplados. No tienen que estar directamente conectados, lo que facilita la escalabilidad y la flexibilidad.</p></li><li><p><strong>Escalabilidad</strong>: La naturaleza asíncrona permite escalar fácilmente los consumidores en respuesta a una alta tasa de eventos.</p></li><li><p><strong>Flexibilidad y Extensibilidad</strong>: Es fácil agregar nuevos consumidores sin afectar al resto del sistema.</p></li><li><p><strong>Respuesta en tiempo real</strong>: Facilita el procesamiento en tiempo real o cercano al tiempo real.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2024-10-15 22:17:09 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3171018918</guid>
      </item>
      <item>
         <title>Desventajas</title>
         <author>zs20015709</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3171019173</link>
         <description><![CDATA[<ul><li><p><strong>Complejidad</strong>: Manejar y depurar flujos de eventos asíncronos puede ser complicado, especialmente en sistemas grandes.</p></li><li><p><strong>Incertidumbre en el orden de eventos</strong>: Puede ser difícil garantizar el orden en que se procesan los eventos.</p></li><li><p><strong>Latencia y rendimiento</strong>: Aunque la arquitectura orientada a eventos puede mejorar la escalabilidad y el rendimiento en sistemas distribuidos, en algunos casos puede introducir latencias adicionales, ya que los eventos pueden tardar en propagarse entre los servicios y algunos mensajes podrían perderse si no hay una buena gestión de colas y tolerancia a fallos.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2024-10-15 22:17:29 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3171019173</guid>
      </item>
      <item>
         <title></title>
         <author>zs20015709</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3171020007</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://www.youtube.com/watch?v=xwXrHW9yS3c" />
         <pubDate>2024-10-15 22:18:41 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3171020007</guid>
      </item>
      <item>
         <title>Uber</title>
         <author>zs20015709</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3171030546</link>
         <description><![CDATA[<p>Uber utiliza <strong>Event-Driven Architecture</strong> para gestionar su sistema de despacho en tiempo real, que es fundamental para la experiencia del usuario. Cada vez que un pasajero solicita un viaje, se genera un evento que es procesado por el sistema de despacho, el cual:</p><ul><li><p><strong>Distribuye el evento</strong> a varios componentes, como los conductores cercanos y el sistema de cálculo de precios dinámicos (precios variables según la demanda).</p></li><li><p><strong>Permite la escalabilidad</strong> del sistema, procesando millones de eventos por segundo para coordinar solicitudes de viaje, el estado de los conductores y los pagos.</p></li><li><p><strong>Agiliza la experiencia del usuario</strong>, ya que los eventos se manejan de forma asíncrona, lo que permite respuestas rápidas y eficientes, incluso bajo condiciones de alta demanda.</p></li></ul><p><br></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2136514610/3c77185a19024f84aa9b843e1c0fa1db/02uber_gbqc_videoSixteenByNine3000.jpg" />
         <pubDate>2024-10-15 22:33:52 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3171030546</guid>
      </item>
      <item>
         <title>Amazon (AWS)</title>
         <author>zs20015709</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3171033685</link>
         <description><![CDATA[<p>Amazon utiliza EDA en varios aspectos de su infraestructura, especialmente en su sistema de comercio electrónico y en los servicios de AWS. Un caso notable es <strong>Amazon S3</strong>, donde los eventos juegan un papel crucial:</p><ul><li><p>Cuando se sube un archivo a S3, esto genera un <strong>evento de almacenamiento</strong> que puede desencadenar una cadena de procesos como la <strong>indexación automática</strong>, <strong>procesamiento de imágenes</strong> o incluso <strong>actualizaciones de bases de datos</strong>.</p></li><li><p><strong>Amazon EventBridge</strong> es el servicio gestionado que facilita la implementación de arquitecturas basadas en eventos, permitiendo que las aplicaciones y microservicios reaccionen a eventos sin necesidad de polling o consultas constantes.</p></li><li><p><strong>Escalabilidad</strong>: El uso de eventos permite que el sistema maneje eficientemente grandes volúmenes de transacciones (como compras, actualizaciones de inventario y envíos) sin sobrecargar la plataforma.</p></li></ul>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2136514610/78f99a10ec8b848a010f0df40427be53/amazon_logo.jpg" />
         <pubDate>2024-10-15 22:38:39 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3171033685</guid>
      </item>
      <item>
         <title>Netflix</title>
         <author>zs20015709</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3171034905</link>
         <description><![CDATA[<p>Netflix utiliza una arquitectura basada en eventos para ofrecer una experiencia de transmisión de medios a millones de usuarios simultáneamente. Netflix necesita gestionar varios eventos en tiempo real, como:</p><ul><li><p><strong>Recomendaciones personalizadas</strong>: Cada vez que un usuario ve un programa o película, esto genera eventos que se almacenan y procesan para actualizar su perfil de preferencias en tiempo real.</p></li><li><p><strong>Monitoreo de calidad de transmisión</strong>: Los eventos se generan constantemente para medir la calidad del servicio, detectando automáticamente problemas en la red o en los dispositivos de los usuarios, y reaccionando con soluciones inmediatas (por ejemplo, ajustes en la calidad de video).</p></li><li><p><strong>Procesamiento de datos</strong>: Netflix usa <strong>Apache Kafka</strong> para manejar enormes flujos de eventos generados por el comportamiento de los usuarios, lo que permite a la compañía ajustar sus recomendaciones y optimizar la experiencia del usuario.</p></li></ul>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2136514610/5b780dc43ae9ac7ecccb849a22ba6bdc/R.jpeg" />
         <pubDate>2024-10-15 22:40:46 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3171034905</guid>
      </item>
      <item>
         <title>Apache Kafka</title>
         <author>zs20015709</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172730376</link>
         <description><![CDATA[<p><strong>Descripción:</strong> Kafka es una plataforma distribuida de streaming que permite publicar, almacenar, procesar y suscribirse a flujos de eventos en tiempo real. Es una herramienta clave en la infraestructura de muchas empresas que requieren alta escalabilidad y rendimiento. </p><p>Netflix usa <strong>Apache Kafka</strong> para manejar enormes flujos de eventos en tiempo real, como los generados por las acciones de los usuarios (por ejemplo, cuando alguien ve una película o programa). Estos eventos se distribuyen a través de los microservicios de Netflix para ajustar las recomendaciones personalizadas y optimizar la calidad de transmisión.</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2136514610/499338f434c01fd58b046914eb8bf5f4/OIP__1_.jpeg" />
         <pubDate>2024-10-16 17:09:08 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172730376</guid>
      </item>
      <item>
         <title>RabbitMQ </title>
         <author>zs20015709</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172731702</link>
         <description><![CDATA[<p>RabbitMQ es un sistema de mensajería robusto basado en el modelo <strong>Publish/Subscribe</strong>, que permite la transmisión asíncrona de mensajes entre componentes desacoplados.</p><p><strong>Aplicación en Uber:</strong> <strong>Uber</strong> utiliza <strong>RabbitMQ</strong> como parte de su sistema de mensajería interna para coordinar eventos entre sus servicios, como el despacho de vehículos y el cálculo de precios dinámicos en tiempo real. RabbitMQ ayuda a asegurar que los mensajes se entreguen de manera confiable, incluso en situaciones de alta demanda.</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2136514610/ef35d52c55f2d219e99f9f14bb99f0e6/R.png" />
         <pubDate>2024-10-16 17:09:58 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172731702</guid>
      </item>
      <item>
         <title>Amazon EventBridge</title>
         <author>zs20015709</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172733392</link>
         <description><![CDATA[<p>Amazon EventBridge es un servicio completamente gestionado por AWS que facilita la creación de aplicaciones basadas en eventos. EventBridge permite la comunicación entre servicios de AWS y aplicaciones personalizadas a través de eventos sin necesidad de una infraestructura compleja.</p><p><strong>Amazon</strong> utiliza <strong>EventBridge</strong> para gestionar eventos en tiempo real dentro de su plataforma de comercio electrónico y otros servicios en la nube de AWS. Por ejemplo, cuando se sube un archivo a <strong>Amazon S3</strong>, se genera un evento que puede desencadenar automáticamente procesos como actualizaciones de bases de datos o procesamiento de datos mediante <strong>AWS Lambda</strong>.</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2136514610/aa2ff61351d1c54ca96f3c7dab1296a1/1_ht02Pp4pq5_h0qQ1AcT8yg.png" />
         <pubDate>2024-10-16 17:11:08 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172733392</guid>
      </item>
      <item>
         <title></title>
         <author>zs20015709</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172759726</link>
         <description><![CDATA[<p>El patrón <strong>Event-Driven Architecture</strong> es ideal en escenarios donde:</p><ul><li><p>Se requiere procesar eventos en tiempo real o cercano al tiempo real.</p></li><li><p>El sistema tiene componentes que deben estar desacoplados y operan de manera independiente.</p></li><li><p>Se necesita un sistema altamente escalable y flexible, con capacidad de respuesta a grandes cantidades de eventos.</p></li><li><p>El sistema es complejo y tiene diferentes servicios que necesitan reaccionar a los mismos eventos de distintas maneras.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2024-10-16 17:28:33 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172759726</guid>
      </item>
      <item>
         <title>Topologías</title>
         <author>joshbbell123</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172762212</link>
         <description><![CDATA[<p>Existen dos topologías principales dentro de la arquitectura basada en eventos: la topología de Mediador (Mediator) y la topología de Intermediario (Broker). </p><p>La topología de Mediador se utiliza comúnmente cuando se requiere control sobre el flujo de trabajo de un proceso de eventos, mientras que la topología de Intermediario se utiliza cuando se requiere un alto grado de capacidad de respuesta y control dinámico sobre el procesamiento de un evento.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-10-16 17:29:53 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172762212</guid>
      </item>
      <item>
         <title>Referencias</title>
         <author>zs20015709</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172763354</link>
         <description><![CDATA[<ul><li><p>Richards, M., &amp; Ford, N. (2020). <em>Fundamentals of Software Architecture: An Engineering Approach</em>. O'Reilly Media.</p></li><li><p>Apache Kafka. (n.d.). <em>Apache Kafka Documentation</em>. Apache Software Foundation. <a rel="noopener noreferrer nofollow" href="https://kafka.apache.org/">https://kafka.apache.org/</a></p></li><li><p>Pivotal Software. (n.d.). <em>RabbitMQ Documentation</em>. <a rel="noopener noreferrer nofollow" href="https://www.rabbitmq.com/">https://www.rabbitmq.com/</a></p></li><li><p>Amazon Web Services. (n.d.). <em>Amazon EventBridge</em>. <a rel="noopener noreferrer nofollow" href="https://aws.amazon.com/es/eventbridge/">https://aws.amazon.com/es/eventbridge/</a></p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2024-10-16 17:30:38 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172763354</guid>
      </item>
      <item>
         <title>Topología de Intermediario</title>
         <author>joshbbell123</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172768019</link>
         <description><![CDATA[<p>Hay cuatro componentes arquitectónicos principales dentro de la topología del Intermediario: Un evento iniciador, el intermediario de eventos, un procesador de eventos y un evento de procesamiento. </p><p>El evento iniciador es el evento inicial que inicia todo el flujo de eventos, ya sea un evento simple como hacer una oferta en una subasta en línea o eventos más complejos. El evento iniciador se envía a un canal de eventos en el Intermediario de eventos para su procesamiento. Dado que no hay un componente mediador un solo procesador de eventos acepta el evento iniciador y comienza el procesamiento de ese evento. El procesador de eventos que aceptó el evento iniciador realiza una tarea específica asociada con el procesamiento de ese evento, luego anuncia de manera asincrónica lo que hizo al resto del sistema creando lo que se llama un evento de procesamiento. Este evento de procesamiento se envía de forma asincrónica al agente de eventos para su posterior procesamiento,</p><p>si es necesario. Otros procesadores de eventos escuchan el evento de procesamiento, reaccionan a ese evento</p><p>haciendo algo y luego anuncian a través de un nuevo evento de procesamiento lo que hicieron. Este</p><p>proceso continúa hasta que nadie esté interesado en lo que hizo un procesador de eventos final.</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2138431675/d9da09ecaea9f41beffcb7c8ce7c01fe/image.png" />
         <pubDate>2024-10-16 17:33:48 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172768019</guid>
      </item>
      <item>
         <title>Topología de Mediador</title>
         <author>joshbbell123</author>
         <link>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172770727</link>
         <description><![CDATA[<p>Los componentes de la arquitectura que conforman la topología del mediador son: Un evento iniciador, una cola de eventos, un mediador de eventos, canales de eventos y procesadores de eventos.</p><p>Al igual que en la topología de Intermediario, el evento iniciador es el evento que inicia todo el proceso de eventos, pero a diferencia de la otra topología, el evento iniciador se envía a una cola de eventos, que es aceptada por el mediador de eventos. El mediador de eventos solo conoce los pasos involucrados en el procesamiento del evento y, por lo tanto, genera eventos de procesamiento correspondientes que se envían a canales de eventos dedicados (Generalmente colas) en forma de mensajes punto a punto. Luego, los procesadores de eventos escuchan los canales de eventos dedicados, procesan el evento y, por lo general, responden al Mediador que han completado su trabajo. A diferencia de la topología de Intermediario, los procesadores de eventos dentro de la topología de Mediador no anuncian lo que hicieron al resto del sistema.</p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2138431675/ca8c8675b80097a7fd158ee08bb86d78/image.png" />
         <pubDate>2024-10-16 17:35:41 UTC</pubDate>
         <guid>https://padlet.com/zs20015709/vi7n31ashmmr5ugu/wish/3172770727</guid>
      </item>
   </channel>
</rss>
