mirror of
https://github.com/thilo-behnke/wasm-pong.git
synced 2026-07-28 10:41:11 +00:00
kafka setup
This commit is contained in:
2
server/.env
Normal file
2
server/.env
Normal file
@@ -0,0 +1,2 @@
|
||||
KAFKA_HOST=localhost
|
||||
KAFKA_PORT=9092
|
||||
22
server/docker-compose.yml
Normal file
22
server/docker-compose.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
version: "3"
|
||||
services:
|
||||
zookeeper:
|
||||
container_name: pong_server_zookeeper
|
||||
image: 'bitnami/zookeeper:latest'
|
||||
ports:
|
||||
- '2181:2181'
|
||||
environment:
|
||||
- ALLOW_ANONYMOUS_LOGIN=yes
|
||||
kafka:
|
||||
container_name: pong_server_kafka
|
||||
image: 'bitnami/kafka:latest'
|
||||
ports:
|
||||
- '9092:9092'
|
||||
environment:
|
||||
- KAFKA_BROKER_ID=1
|
||||
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
|
||||
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092
|
||||
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
|
||||
- ALLOW_PLAINTEXT_LISTENER=yes
|
||||
depends_on:
|
||||
- zookeeper
|
||||
7
server/run.sh
Executable file
7
server/run.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
source .env
|
||||
|
||||
docker-compose down
|
||||
docker-compose up -d --build --force-recreate
|
||||
docker exec pong_server_kafka /opt/bitnami/kafka/bin/kafka-topics.sh --create --topic topic --bootstrap-server "$KAFKA_HOST:$KAFKA_PORT"
|
||||
@@ -22,11 +22,11 @@ impl KafkaEventWriterImpl {
|
||||
}
|
||||
}
|
||||
impl EventWriterImpl for KafkaEventWriterImpl {
|
||||
fn write(&mut self, event: Event) -> Result<(), ()> {
|
||||
fn write(&mut self, event: Event) -> Result<(), String> {
|
||||
let record = Record::from_key_value(event.topic.as_str(), event.key.as_str(), event.msg.as_str());
|
||||
match self.producer.send(&record) {
|
||||
Ok(()) => Ok(()),
|
||||
Err(_) => Err(())
|
||||
Err(e) => Err(format!("{}", e))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user