#52 Asynchrone Verarbeitung durch Message Queues - Vor- und Nachteile

Engineering Kiosk - Ein Podcast von Wolfgang Gassler, Andy Grunwald - Dienstags

Kategorien:

Asynchrone Verarbeitung durch Message Queues: Was ist das und wofür ist das gut?In vielen Applikationen gibt es Bereiche, die einfach etwas Zeit für die Verarbeitung brauchen, aber das klassische Anfrage/Antwort (Request/Response) Verhalten nicht blockieren sollen. Oft werden dafür asynchrone Prozesse verwendet. Durch den Einsatz von Message Queues ergeben sich weitere Vorteile wie u.a. granulare Skalierbarkeit und Unabhängigkeit von einzelnen Programmiersprachen. RabbitMQ ist einer der Platzhirsche im Bereich Open-Source-Message-Broker.In dieser Episode klären wir wofür Message Queues gut sind, bei welchen klassischen Anwendungsfällen diese helfen können, welche Herausforderungen diese Darstellen, wo der Unterschied zu Pub/Sub oder Streams ist und was Redis, Kafka und ZeroMQ damit zu tun hat.Bonus: Warum Software rostet.Feedback (gerne auch als Voice Message)Email: [email protected]: https://podcasts.social/@engkioskTwitter: https://twitter.com/EngKioskWhatsApp +49 15678 136776Gerne behandeln wir auch euer Audio Feedback in einer der nächsten Episoden, einfach Audiodatei per Email oder WhatsApp Voice Message an +49 15678 136776LinksRabbitMQ: https://www.rabbitmq.com/ActiveMQ: https://activemq.apache.org/AMQP: https://www.amqp.org/Jakarta Messaging: https://de.wikipedia.org/wiki/Jakarta_MessagingRed Hat / JBoss AMQ: https://www.redhat.com/de/technologies/jboss-middleware/amqApache Kafka: https://kafka.apache.org/ZeroMQ: https://zeromq.org/Erlang mnesia: https://www.erlang.org/doc/man/mnesia.htmlSprungmarken(00:00:00) Intro(00:00:41) Post-Retouren an der Haustür, Warteschlangen und Reservierungs-Scheduling mit Process Mining(00:05:49) Das heutige Thema: Message Queuing (mit RabbitMQ)(00:07:23) Was sind Message Queues und was sind typische Anwendungsfälle?(00:10:48) Komponenten einer Message Queues und deine Datenbank als Message Queues(00:12:30) Herausforderungen beim Message Queuing: Exactly once delivery(00:15:15) Möglichkeiten durch Message Queuing: Granulare Skalierbarkeit, Micro-Service Kommunikation und Serverless(00:16:56) Was ist RabbitMQ? (Erlang, AMQP)(00:21:53) Advanced Features von Message Queuing-Systemen: Exchanges, Routing, Priority Queues, Time to live (TTL)(00:27:01) Message Acknowledgement + Rejetion und Dead Letter Queues(00:31:11) Ist Amazon SQS oder Google PubSub eine gute Alternative?(00:34:22) Alternative mit Redis: PubSub, Listen und Streams(00:36:18) Wo ist der Unterschied zwischen einer Message Queue und einem Stream?(00:38:51) Kann ich Apache Kafka als Message Queuing System verwenden?(00:40:29) Ist RabbitMQ oder Apache Kafka einfacher zu installieren und zu betreiben?(00:42:56) ZeroMQ(00:44:53) Was spricht gegen RabbitMQ? Operations, idempotente Consumer(00:48:34) Andere Protokolle fürs Message Queuing: MQTT, HTTP und WebSockets(00:49:46) Erfahrung durch die Nutzung in Side Projects und ZusammenfassungHostsWolfgang Gassler (https://mastodon.social/@woolf)Andy Grunwald (https://twitter.com/andygrunwald)Feedback (gerne auch als Voice Message)Email: [email protected]: https://podcasts.social/@engkioskTwitter: https://twitter.com/EngKioskWhatsApp +49 15678 136776