Habarisoft released new versions of Habari Client libraries for Delphi and Free Pascal application integration with free open source message brokers, including Apache ActiveMQ, Apache ActiveMQ Artemis, OpenMQ and RabbitMQ.
The RabbitMQ STOMP plugin supports advanced queue features, which can be defined in the management interface but also from clients when the queue is created. No matter how these features have been declared, RabbitMQ requires that the client specifies the same feature settings anytime when this queue is used.
Release 2015.12 of the Habari Client library for Delphi and Free Pascal application integration (release notes) successfully passed all cross-platform test suites with the RabbitMQ message broker version 3.6.0.
Tested with current message broker versions
- Apache ActiveMQ 5.13.0
- Apollo 1.7.1
- Artemis 1.0.0
- HornetQ 2.4.5.Final
- Open MQ 5.1.1 b02
- RabbitMQ 3.5.7
Full release notes are available at https://www.habarisoft.com/releases/2015.12/
The RabbitMQ team announced the release of RabbitMQ 3.5.0. This release adds support for priority queues which were available as a plugin before. Performance is improved; in particular messages smaller than configurable size are embedded in the queue index to reduce I/O and memory consumption. Stability of clustering and autoheal partition handling is improved as well. A new pause_if_all_down partition handling mode is added. The management web UI now shows many more I/O statistics. Binary and source distributions of the new release can be found on the download page.
“Newer architectures and the standardized AMQP protocol have led to a flood of message brokers. All brokers take claim to be fast, robust and reliable. But what really distinguish the broker? How do I choose the right broker? Should we continue to use established brokers such as the ActiveMQ or try a more modern one? This article attempts to answer these questions and help the reader in selecting a suitable broker.”
Michael Laing, a Systems Architect at NYTimes, gave a great decription of their use of RabbitMQ and their overall architecture on the RabbitMQ mailing list, which later also appeared on High Scalability – NYTimes Architecture: No Head, No Master, No Single Point of Failure
We use Rabbit MQ as our message passing system. Right now, the messages we handle are things like Breaking News Alerts and Live Video alerts. Our internal clients send the fabrik these messages over AMQP. We then send them around our stack, ensuring they are delivered.
We have Rabbit in all layers of our stack, with shovels connecting them. Our own internal code helps route the messages based on there services level. Some messages, like Breaking News, must go out as quickly as possible. So we spread these out over out clusters AND shovel them to clusters in other regions for processing. From there the messages get send to the front end for delivery.
We also use Rabbit for individual messages. If you are a registered NYTimes users, we can send you personally a message. Things like credit card expiring.
4. December 2013 – New versions of all Habari message broker client libraries are available. The new release of Habari Client libraries is mainly a maintenance release. The new library versions are:
- Habari Client for ActiveMQ 3.6 (tested with ActiveMQ version 5.9.0)
- Habari Client for Apollo 1.6 (tested with Apollo version 1.6)
- Habari Client for HornetQ 2.2 (tested with HornetQ version 2.3.1)
- Habari Client for OpenMQ 2.6 (tested with OpenMQ version 5.0.1)
- Habari Client for RabbitMQ 1.8 (tested with RabbitMQ version 3.2.1)
This release fixes several bugs and warnings. For a full list of changes please check the “Getting Started” documentation. More information, demo downloads, example code and the complete API reference are available on-line.
With Habari Client libraries, Delphi and Free Pascal developers can take advantage of message broker technology, which is distributed, loosely coupled, reliable and asynchronous, to build integrated systems, connecting clients using the peer-to-peer or the publish-and-subscribe communication model.