60East is proud to announce the release of AMPS 5.3 — the most fully-featured and easy to use version of AMPS yet!
Production Tested From Day One
The 5.3 release marks the full release of the features we’ve been releasing in previews for the last 18 months. The preview program was designed to quickly provide access to new features, and one measure of the success of the preview program is that most of the new features in this release have already been used in production for months, at multiple customer sites, making this the most well-vetted version of AMPS in our history.
Advanced Features for Demanding Applications
This release includes the following major features, new since 5.2:
- Select lists, which allow a subscriber to receive a precise subset of the fields in a message, rather than having to receive the full message.
- Priority queues, which provide the ability to deliver more important messages first, rather than providing messages in strict first-in-first-out order.
- Full support for paginated
sow_and_subscribe. With this support, a client can specify a page of messages to monitor, and receive only updates for messages in that page. This feature includes support for providing an
oofmessage when messages leave the window.
- Dramatically expanded set of functions for use in filters, preprocessing/enrichment, and view construction. These new functions include access to metadata for the message and the connection from which the message originated, when available.
- Improved support for dead letter queues and poison message handling in AMPS queues
- Performance enhancements throughout the server, including significant enhancements to bookmark replay scalability and the ability of AMPS to handle SOW topics recorded in the transaction log that are much larger than physical memory.
- Configurable conflation intervals for acknowledgement messages. This allows applications that cannot tolerate the 1 second conflation interval to decrease the wait for acknowledgements to be returned to a publisher.
- An optional authentication module that can use an existing Kerberos or LDAP system to verify the identity of a connection to AMPS.
- Support for Protocol Buffers v3
- Support for MessagePack
- Support for unsigned long integers
- Major improvements to the Admin console, including new statistics, new views in Galvanometer, and a new “dark” theme.
- Support for Basic Authentication in the Admin console
- Support for HTTPS in the Admin console
We’ll be following up with more extensive blog posts on many of these features in the weeks to come.
Aside from these major improvements, this release includes dozens of smaller improvements and bug fixes. See the release history for the full list.
Upgrade In Seconds
We’re also excited about a few things that aren’t in this release.
In the 5.3 release, you can upgrade your AMPS instances from 5.0 or 5.2
without running the
amps_upgrade tool to process data files. AMPS
5.3 will work seamlessly with data files from a previous version. (Notice,
though, that 5.3 may record data that cannot be processed by earlier
versions, so while upgrade is seamless, earlier versions of AMPS do
not work with the new features in 5.3 and do not support rollback).
You can also replicate between 5.2 versions of AMPS and 5.3 for the purposes of rolling and incremental upgrades. This capability is intended to help distributed teams and applications with complex topologies upgrade “in place” without the need for a service to ever completely go offline.
All of this means that an upgrade can often be as simple as stopping the running version of AMPS and restarting with the new binary. (60East recommends testing the upgrade in a development or test environment first, of course, since we’ve also added more error-prevention to the startup process.)
Cranked Up and Ready
AMPS 5.3 is available for download and ready to take on your most demanding workloads. What’s your favorite part of AMPS 5.3? Let us know – whether that’s one of the major features mentioned above, a smaller improvement, the new theme in Galvanometer, or something else entirely!
[Updated 5/20/2019 to mention unsigned long support.]