A delayed message delivery tool

A delayed message delivery tool

Visit Site

Introducing Gohlay: A Low-Impact Kafka Message Scheduling Tool

Gohlay is a lightweight, low-impact tool designed to add scheduled messages to a Kafka workflow. Developed by vordimous, this CLI tool allows producers to communicate a desired execution time for consumers and schedules messages on Kafka topics after a delivery time set by a header.

Key Features:

  • Message Scheduling: Gohlay enables producers to send messages with a scheduled delivery time, allowing consumers to react accordingly.
  • Low-Impact: With only minimal memory usage, Gohlay is an ideal solution for applications where resources are limited.
  • Flexibility: Producers can send messages without the GOHLAY header, and consumers can choose to wait for the GOHLAY_DELIVERED message or process the initial payload.
  • Fault Tolerance: Gohlay is designed to be fault-tolerant, ensuring that undelivered messages are picked up by a new run.

Benefits:

  • Lightweight and Efficient: With minimal processing time (~3 seconds for large topics), Gohlay enables fast delivery of scheduled messages.
  • Configurable: Users can customize the tool using flags, YAML files, or environment variables to suit their specific needs.
  • Scalability: Gohlay supports multiple topics, group IDs, and offset configurations for seamless integration into existing Kafka workflows.

How It Works:

Gohlay scans configured Kafka topics, looking for messages with the GOHLAY header. It checks the delivery time in the header and ignores any messages with a delivery time later than the configured deadline. Gohlay stores only pointers to deliverable messages and completes their delivery by producing them on the topic it's scanning.

Try It Out:

To experience Gohlay in action, run the Quickstart compose example using the provided script or copy and run the compose.yaml file yourself. The tool is available for download from the latest release.

Install:

Download the binary for your OS from the latest Gohlay release. Run Gohlay in a container using Docker or deploy it as part of your existing infrastructure.

Gohlay offers an innovative solution for managing scheduled messages in Kafka workflows, providing flexibility, efficiency, and reliability.