The Cleaners

The Cleaners

What’s better than a load test application for Hazelcast? Obvious: A load test application for Hazelcast with the ability to clean previously created state before starting a load test, so as to establish a clean cluster as the baseline for each test run.

The cleaners that will be the stars of today’s blog post are, unfortunately, not able to perform the cleaning chores around your place for you, but what they can do for you is cleaning up state in your Hazelcast cluster before a load test starts. Learn why that matters and how exactly it works in the following sections!

(Video) QCon London 2024: Best Practices for Data Platforms with Finanz Informatik and Hazelcast

(Video) QCon London 2024: Best Practices for Data Platforms with Finanz Informatik and Hazelcast

Interested in some best practices for building a performant, reliable data platform using Hazelcast? Well, look no further, then! In this video, you will get to know the various iterations we have done on the architecture of Finanz Informatik’s Hazelcast clusters, and you’ll learn some best practices that we have gathered along the way.

The video linked to below is the recording of a presentation held at QCon London in April 2024. I am joined on stage by Neil Stevenson from Hazelcast and Philipp Blanke from Finanz Informatik. They each give you a short introduction to Hazelcast and Finanz Informatik, respectively, before I take over with the technical intricacies.

(Video) How To Hazeltest 1: Connecting To A Hazelcast Cluster

(Video) How To Hazeltest 1: Connecting To A Hazelcast Cluster

After having watched the introduction to Hazeltest, you might now be scratching your head and wondering just how to connect Hazeltest to the target Hazelcast cluster under test…

What’s the first thing you’ll have to do with any application doing anything on a Hazelcast cluster? That’s right – tell the application how to connect to that cluster.

(Video) Hazeltest In A Nutshell

(Video) Hazeltest In A Nutshell

Have you ever wondered just how load-testing your Hazelcast clusters could be simplified, and thus make sure that the “release candidates” that describe these clusters are fit for your prodution environment?

Here it is – the first video on Hazeltest! (Well, the second, if you count the livestream that took place quite a while ago, but the first as far as the video series I’d like to do is concerned.)

Chaos Monkey

Chaos Monkey

In case you’ve always wanted a pet monkey, this one is definitely not what you’re looking for, because this particular specimen is one noisy fellow indeed. Designed to wreak havoc among the unsuspecting members of your Hazelcast cluster, it will let you test your cluster’s resilience before your production environment gets a chance to do it.

The concept of a Chaos Monkey was first introduced in the context of Hazeltest by the previous blog post as a means to “spice up” the primary job of Hazeltest’s runners, namely, to generate load on the Hazelcast cluster under test. The Chaos Monkey was described as an automated actor within Hazeltest whose goal is to deliberately wreak havoc among Hazelcast cluster members in order to test the cluster’s resilience towards member failures.

Dev Update, More Load Scenarios

Dev Update, More Load Scenarios

Curious about the news on Hazeltest and the two additional load scenarios previously hinted at? Then this new blog post has you covered!

The previous blog post on Hazeltest featured, in its more practical part, a basic How to Hazeltest, demonstrating shortly how the application can be configured, as well as the first of three load generation scenarios. The following paragraphs, then, will pick up the action from there and walk you through the remaining two load generation scenarios. Beyond that, we’re going to spend some time looking at the improvements made to Hazeltest since the previous blog post was published, as well as at the (likely) road ahead for Hazeltest.

More Cattle

More Cattle

What’s better than a certain number of RKE cluster nodes? Well, more cluster nodes, of course!

For an upcoming live stream about Hazeltest, the RKE cluster I use needs a bit more juice (a lot more, actually). In the following sections, you’ll see that introducing additional Linux machines as new nodes to an existing RKE cluster is very easy, and you’ll also get acquainted with a cool Kubernetes dashboard called Skooner. Finally, we’re going to use said Hazeltest to put the new nodes to a good test.

A Bit Of Gardening

A Bit Of Gardening

The focus with Hazeltest in the past weeks has been to implement a certain feature set so I can use the application as early as possible in a project with my current client. While this goal was achieved, there is, of course, still “no free lunch”, and the price tag here was a couple of things I didn’t like about the code. Because I’m an early learner of Go, these things combined with the new Go-foo I’ve learned in the past weeks provided just the perfect opportunity to get out the gardening gloves and do a little refactoring.

Since the previous blog post was published, the Hazeltest source code has seen both a couple of refactorings and some new features. In the following sections, I’d like to talk about the refactorings I’ve made in the code, and cover the new features in a dedicated blog post.

Working With Hazeltest

Working With Hazeltest

In its current state, Hazeltest can automate the process of generating load in the maps of a Hazelcast cluster. By means of a simple, three-scenario example, this blog post demonstrates how Hazeltest and its configuration options can be used for this purpose with the goal of finding weaknesses in the given Hazelcast map configurations.

What is this Hazeltest you’ve recently talked about and how can I make use of it even in this very early stage of development? Which configuration options do I need to tweak in order to configure the two map-related runners the application offers? And: How does all this help identify incorrect or incomplete Hazelcast map configurations?

Pagination