Kafka
Cloud Agnostic
Open Source
Listens for notifications from Apache Kafka topics with consumer group offset management. Ideal for high-throughput environments where ordering guarantees and replay capabilities are important.
Source code: Notiway.Plugins.Portable.Buffers.Kafka
Compatibility
| Pairs with | Kafka Broker |
| Product | Notiway Notify |
Installation
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
Infra__Plugins__Buffer__Name | Yes | — | Set to Kafka |
Infra__Plugins__Buffer__Version | Yes | — | Set to 0.16.0 |
Infra__Plugins__Buffer__Config__BootstrapServers | Yes | — | Kafka broker addresses (e.g., localhost:9092) |
Infra__Plugins__Buffer__Config__Topic | No | notiway | Kafka topic to consume from |
Infra__Plugins__Buffer__Config__GroupId | No | notiway-gateway | Consumer group ID for coordinated consumption |
Infra__Plugins__Buffer__Config__AutoOffsetReset | No | latest | Where to start reading when no committed offset exists (latest or earliest) |
Infrastructure
- Running Kafka cluster — v2.8+ recommended (KRaft mode supported).
- Create the topic before starting Notiway, or enable auto-topic creation on the cluster.
Docker Compose
docker-compose.yml
services:
notiway:
image: notiway/notify:portable-0.5.0
ports:
- "5000:8080"
environment:
- Infra__Plugins__Buffer__Name=Kafka
- Infra__Plugins__Buffer__Version=0.16.0
- Infra__Plugins__Buffer__Config__BootstrapServers=kafka:9092
- Infra__Plugins__Buffer__Config__Topic=notiway
- Infra__Plugins__Buffer__Config__GroupId=notiway-gateway
- Infra__Plugins__Buffer__Config__AutoOffsetReset=latest
kafka:
image: confluentinc/cp-kafka:7.5.0
ports:
- "9092:9092"
environment:
- KAFKA_NODE_ID=1
- KAFKA_PROCESS_ROLES=broker,controller
- KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092
- KAFKA_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
- KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
- CLUSTER_ID=MkU3OEVBNTcwNTJENDM2Qk