Middleware
Collecting sensor data, or low-level system status information, is a job that is often best done in C/C++. Distributing this kind of data to other system components in a way that is platform- and language-independent can be a challenge. This article suggests a way to do this use AMQP message distribution.
Categories: embedded computing, middleware
AMQP is not a trivially-straightforward protocol to understand, but it's necessary to get to grips with it to write effective software that uses the Qpid Proton AMQP library. Perhaps one of the simplest ways to understand AMQP is to use Proton's own packet-tracing features, as this article explains.
Categories: C, middleware
The Apache ActiveMQ Artemis message broker holds out the possibility of real shared-nothing replication. The problem, though, lies in coordinating the active and passive brokers in the cluster. This article describes the new active/passive management framework, and how to use Apache Zookeeper as the source of authority on cluster roles.
Categories: middleware
This article describes the fundamentals of setting up the Apache Artemis message broker to use an Oracle database as the message data store.
Categories: middleware
This article is the second on my series on using the Oracle database as the message data store for the Apache Artemis message broker. In it, I describe the database schema, and how it supports messaging operations.
Categories: middleware
ActiveMQ and Kafka are both open-source, Java-based, message brokers with applications in inter-process communication. But can they be used interchangeably?
Categories: middleware
This article provides a very simple example of setting up the Apache Artemis message broker to authenticate against a Keycloak server.
Categories: middleware
This article continues my explanation of using Keycloak as an authentication provider for Apache Artemis, by showing how to use a bearer token to authenticate a JMS client.
Categories: middleware
Both Apache ActiveMQ and Apache Artemis have infrastructure for creating networked message broker meshes. However, their implementations are rather different, which can be problematic for integrators who want to migrate from ActiveMQ to Artemis. This article describes how to replicate -- so far as possible -- ActiveMQ mesh behaviour in Artemis.
Categories: middleware
This article extends my earlier article on using Avro with a message broker. In this article I explain how to use the Apicurio schema registry to store Avro schema artefacts that are shared by multiple clients, rather than providing local copies for each client.
Categories: software development, Java, middleware
This article describes how to use Apache Avro to flatten a Java object, pass it through a JMS-compatible message broker, and reconstruct it again. Avro is a compact, schema-based data representation that is becoming increasingly important in messaging applications.
Categories: software development, Java, middleware
The notion of change data capture (CDC) is becoming increasingly significant, in an IT industry that stores and manages an ever-increasing volume of data. This article describes how to begin using the Debezium CDC framework with Apache Came, to collect and process change records from disparate data sources.
Categories: software development, Java, middleware
Shared subscriptions are a 'new' feature in JMS, that seems to be poorly understood, particularly in a clustered environment. In this article, I explain how shared subscriptions are supposed to work, and what the implications are for load sharing and fault tolerance.
Categories: middleware
This article provides a brief overview of the rdkafka library, illustrated by a simple test application in C.
Categories: middleware
This article describes what I think is the simplest possible Kafka Connect set-up, using a single-node Kafka installation. To ensure that the principles are clear, I use only a text editor and command-line tools to run the Connect infrastructure and deploy the connector.
Categories: middleware
This article describes what I think is the simplest possible Kafka Connect on Strimzi -- the Kubernetes implementation of Kafka. If follows from an earlier article about using Kafka Connect on bare metal.
Categories: middleware
Part 2 of my article on installation the Mosquitto MQTT message broker on OpenShift.
Categories: OpenShift, middleware
This article describes a method for deploying the Mosquitto MQTT message broker on OpenShift. Such an installation might potentially be useful in its own right, but the main purpose of the article is to discuss issues that are relevant packaging any application in an OpenShift-compatible way.
Categories: OpenShift, middleware
Using a Camel application based on Quarkus to provide a way to route messages to and from a message broker using HTTP requests
Categories: software development, Java, middleware
Camel's IRC support makes it relatively easy to implement an IRC conversation agent, that can process IRC messages and produce responses.
Categories: software development, Java, middleware
Administrators of middleware message brokers often struggle to get adequate throughput. A lot of time and effort can be wasted, if the administrator doesn't appreciate the crucial role of synchronous disk writes in these installations.
Categories: middleware