Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/Latence-Technologies/Kafka-Ada

Apache Kafka Ada client library, based off of librdkafka
https://github.com/Latence-Technologies/Kafka-Ada

Last synced: 2 months ago
JSON representation

Apache Kafka Ada client library, based off of librdkafka

Lists

README

        

# Kafka Ada

This project offers Ada bindings for the C librdkafka library. You can use it to send and receive from a Kafka bus from Ada. Currently work in progress, it does not offer all functionalities of librdkafka yet. If what you are looking for is simply producing data onto a kafka bus or consuming data, this library likely already supports the features you need.

Supported functionalities:

- Basic error handling
- Kafka handle creation and destruction
- Topic handling
- Message handling
- Basic producer functionalities
- Basic consumer functionalities
- Kafka configuration
- Topic configuration

Not yet supported:

- Retrieving debug contexts
- Advanced error handling (Description, fatal errors, retriable errors etc.)
- Partition handling
- Message headers
- Message status
- Event sourcing and event handling
- Callbacks
- Broker handling
- Broker metadata
- Queue consumer
- Batch consumer
- Atomic assignment of partitions
- Kafka logging
- Topic creation and deletion and other admin operations
- Various other advanced functionalities offered by librdkafka

If you need some of those not supported features, feel free to open a pull request.

## Building and installing from source

To install this library on your system, run the following command:

```bash
gprbuild -p kafkaada.gpr
sudo gprinstall -p -f kafkaada.gpr
```

Note: You need to have librdkafka already installed.

## Usage

See the `examples/` folder for code examples showcasing a basic consumer and a
basic producer using Kafka Ada.

You can use the `-t` (or `--topic`) argument to change the name of the Kafka Topic when using either example.

## Latence Technologies

This Ada binding is offered by LatenceTech, a Montreal based startup specialized in low-latency optimization. Our website is https://latencetech.com/