Brand new rabbitmqctl in 3.7.0

December 15th, 2016 by Daniil Fedotov

As of v3.7.0 Milestone 8, RabbitMQ ships with a brand new set of CLI tools (rabbitmqctl, rabbitmq-plugins, and more), reworked from the ground up. We had a few goals with this project:

  • We wanted to use a more user-friendly command line parser and produce more useful help and error messages.
  • CLI tools should be extensible from plugins: plugins such as management, federation, shovel, trust store all have functions that are meant to be invoked by CLI tools but the only way of doing it was `rabbitmqctl eval`, which is error prone and can be dangerous.
  • We wanted to give Elixir a try on a real project and make it easier for developers new to Erlang to extend the CLI functionality.
  • Our CLI tools historically didn't have good test coverage; the new ones should (and do).
  • CLI tools should be able to produce machine-friendly formats, be it JSON, CSV or something else; there was no internal infrastructure for doing that in the original implementation.
  • CLI tools should be a separate repository just like all plugins, client libraries, and so on.

Nine months later the experiment was declared a success and integrated into RabbitMQ distribution.

Please give v3.7.0 Milestone 8 a try and take a look at how easy it is to extend the CLI.

There's also a longer document that covers new features and implementation decisions.

Metrics support in RabbitMQ Java Client 4.0

November 30th, 2016 by Arnaud Cogoluègnes

Version 4.0 of the RabbitMQ Java Client brings support for runtime metrics. This can be especially useful to know how a client application is behaving. Let's see how to enable metrics collection and how to monitor those metrics on JMX or even inside a Spring Boot application.

Read the rest of this entry »

RabbitMQ Java Client 4.0 is released

November 24th, 2016 by Arnaud Cogoluègnes

The RabbitMQ team is happy to announce the release of version 4.0 of the RabbitMQ Java Client. This new release does not introduce any breaking changes and comes with a bunch of interesting new features.

Read the rest of this entry »

What’s new in RabbitMQ 3.6.0

December 28th, 2015 by Alvaro

We are pleased to announce the immediate availability of RabbitMQ 3.6.0, a new version of the broker that comes packed with lot of new features. Before we go on, you can obtain it here:

This release brings many improvements in broker features, development environment for our contributors, and security. Let’s take a look at some of the most significant ones.

Read the rest of this entry »

New Credit Flow Settings on RabbitMQ 3.5.5

October 6th, 2015 by Alvaro

In order to prevent fast publishers from overflowing the broker with more messages than it can handle at any particular moment, RabbitMQ implements an internal mechanism called credit flow that will be used by the various systems inside RabbitMQ to throttle down publishers, while allowing the message consumers to catch up. In this blog post we are going to see how credit flow works, and what we can do to tune its configuration for an optimal behaviour.

Read the rest of this entry »

Scheduling Messages with RabbitMQ

April 16th, 2015 by Alvaro

For a while people have looked for ways of implementing delayed messaging with RabbitMQ. So far the accepted solution was to use a mix of message TTL and Dead Letter Exchanges as proposed by James Carr here. Since a while we have thought to offer an out-of-the-box solution for this, and these past month we had the time to implement it as a plugin. Enter RabbitMQ Delayed Message Plugin.

Read the rest of this entry »

Understanding memory use with RabbitMQ 3.4

October 30th, 2014 by Simon MacMullen

"How much memory is my queue using?" That's an easy question to ask, and a somewhat more complicated one to answer. RabbitMQ 3.4 gives you a clearer view of how queues use memory. This blog post talks a bit about that, and also explains queue memory use in general. Read the rest of this entry »

Finding bottlenecks with RabbitMQ 3.3

April 14th, 2014 by Simon MacMullen

One of the goals for RabbitMQ 3.3 was that you should be able to find bottlenecks in running systems more easily. Older versions of RabbitMQ let you see that you were rate-limited but didn't easily let you see why. In this blog post we'll talk through some of the new performance indicators in version 3.3. Read the rest of this entry »

Consumer Bias in RabbitMQ 3.3

April 10th, 2014 by Simon MacMullen

I warn you before we start: this is another wordy blog post about performance-ish changes in RabbitMQ 3.3. Still with us? Good.

So in the previous post I mentioned "a new feature which I'll talk about in a future blog post". That feature is consumer bias.

Read the rest of this entry »

An end to synchrony: performance improvements in 3.3

April 3rd, 2014 by Simon MacMullen

Well, we got the bad news out of the way yesterday, so today let's talk about (some of) the good news: some types of publishing and consuming are now a great deal faster, especially in clusters.

Read the rest of this entry »