More High-resolution Scaling for RabbitMQ - Noteworthy at Compose

Published

This is your weekly summary of Compose news for those changes and updates which can make your life easier. In this edition: wider availability for RabbitMQ High-resolution Scaling, more advice on working with secure connections in a TLS 1.2 only world and a round up of the last week's articles at Compose.

RabbitMQ and more scaling

Existing RabbitMQ 3.6.x users on Compose now have high resolution scaling too. Last week, we noted that new RabbitMQ deployments would be enjoying the benefits of high-resolution scaling. That's where we increase the rate we check whether a database needs to be given more resources from once an hour to once a minute. We've found that services like Redis and RabbitMQ can be subjected to somewhat spiky bursts of traffic. That tends to mean it's worth giving them extra resources more rapidly than other databases. We were able to deliver the high resolution scaling on existing deployments faster than originally expected. RabbitMQ 3.5.x deployments will not be getting this enhancement though; for them, we recommend an upgrade to RabbitMQ 3.6.

TLS 1.2 only and Java

One issue we've seen with our new TLS 1.2 only policy is that Java applications may, or may not fail, even where the underlying Java platform supports TLS 1.2. There's two reasons for that and one answer.

The first reason is that Java 7 doesn't default to using TLS 1.2 even though it is supported. So when your code creates an SSLContext to configure a secure connection using SSLContext ssl=new SSLContext() or new SSLContext("TLS"), it may only do TLS 1.1 and downwards which will, of course, not work.

The other reason is that developers have accidentally coded in a TLS 1.1 requirement. That SSLContext() constructor takes a parameter which defines the enabled protocols and sometimes you can find code which says SSLContext ssl=new SSLContext("TLSv1.1") usually as a carryover from a different generation of code.

The solution to both problems is the same though. Where you are creating an SSLContext, create it with SSLContext("TLSv1.2"). Also, while you are doing that, take a moment to document your application's use of TLS ready for the future are TLS 1.3 will be with us in a couple of years.

Compose Articles.

Just the one big article last week. In NodeJS, MongoDB, Elasticsearch, and PostgreSQL: The Compose Grand Tour, we begin our run through examples of how to connect to Compose database deployments with clear examples for NodeJS and MongoDB, Elasticsearch and PostgreSQL. The tour will cover all the databases and NodeJS connections and, as a reminder, we've previously covered connecting with Go (1, 2, 3) and Python (1, 2, 3).

We also had our regular Friday NewsBits with news from around the world of databases and developers. In Friday's edition, we looked at Instagram's turbo-powered Cassandra, a database extension for Vim, the latest NodeJS LTS updates, and much more. We even took a look at a very special clock.

That's it for this week's Noteworthy at Compose. Onwards to next week!


Read more articles about Compose databases - use our Curated Collections Guide for articles on each database type. If you have any feedback about this or any other Compose article, drop the Compose Articles team a line at articles@compose.com. We're happy to hear from you.

Dj Walker-Morgan
Dj Walker-Morgan was Compose's resident Content Curator, and has been both a developer and writer since Apples came in II flavors and Commodores had Pets. Love this article? Head over to Dj Walker-Morgan’s author page to keep reading.

Conquer the Data Layer

Spend your time developing apps, not managing databases.