{"id":22707624,"date":"2023-05-15T06:30:32","date_gmt":"2023-05-15T13:30:32","guid":{"rendered":"https:\/\/thenewstack.io\/?p=22707624"},"modified":"2023-05-15T06:30:32","modified_gmt":"2023-05-15T13:30:32","slug":"rabbitmq-is-boring-and-i-love-it","status":"publish","type":"post","link":"https:\/\/thenewstack.io\/rabbitmq-is-boring-and-i-love-it\/","title":{"rendered":"RabbitMQ Is Boring, and I Love It"},"content":{"rendered":"\n

RabbitMQ is boring. Very boring. And we tend not to think about boring things. RabbitMQ<\/a>, like the electrical grid, is entirely uninteresting — until it stops working. The human brain is conditioned to recognize and respond to pain and peril more than peace, so we tend only to remember the traumas in life. In this post, I want to try to change that. Let’s talk about RabbitMQ, an open source message broker I’ve been using for the better part of 15 years — happily and bored.<\/p>\n

My background is in, among other things, messaging and integration technologies. Unfortunately, legacy systems are often hostile, mostly because those who came before us did not foresee the highly distributed nature of today’s modern, API-dominant architectures, such as cloud native computing<\/a> and microservices<\/a>.<\/p>\n

There are many ways to approach integration. In their book, “Enterprise Integration Patterns<\/a>,” Gregor Hohpe and Bobby Woolf talk about four approaches: shared databases, messaging, remote procedure call (RPC) and file transfer. Integration is all about optionality and coupling: How do we take services that don’t know about each other and make them work together without overly coupling them by proximity or time? Messaging, that’s how. Messaging<\/a> is the integration approach that comes with batteries included. It has all the benefits and few, if any, of the drawbacks of the three other integration styles. Messaging means I can sleep at night. Messaging is boring. I love boring.<\/p>\n

With the support of multiple open protocols, such as AMQP 0.9, 1.0, MQTT<\/a>, STOMP and others, RabbitMQ gives people options and flexibility<\/a> and interoperability, so a service written in Python can communicate with another in C# or Java, and both can be none the wiser.<\/p>\n\n

\n\t
\n\t\t
\n\t\t\t
\n\t \n\t\t\t\t\t\"\"<\/span>\n\t <\/a>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t
\n\t\t\t
\n\t\t\t\t\nThe last few decades delivered great advances in infrastructure; now, it’s time to build apps that make the most of those new tools. VMware Tanzu helps you build new apps, modernize existing ones, and evolve your development process around cloud native technologies, patterns, and architectures.\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t
\n\t\t\t
\n\t\t\t\tLearn More\n \n<\/svg>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\t
\n\t\t
\n\t\t\tThe latest from VMware Tanzu\t\t<\/div>\n\t\t<\/div>\n\t\t