Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/iwpnd/geo-stream-kafka

producer and consumer FastAPI endpoints to handle incoming geo data
https://github.com/iwpnd/geo-stream-kafka

apache fastapi geodata kafka leaflet leafletjs websockets

Last synced: 3 months ago
JSON representation

producer and consumer FastAPI endpoints to handle incoming geo data

Awesome Lists containing this project

README

        

# geo-stream-kafka


setup geostream fastapi aiokafka


geostream gif

see [blogpost](https://iwpnd.pw/articles/2020-03/apache-kafka-fastapi-geostream) for a more detailed description

```bash
docker-compose up -d
```

If you're on MacOS set an environment variable like:
```bash
export DOCKER_KAFKA_HOST=$(ipconfig getifaddr en0)
```

that is afterwards used in `docker-compose.yml` to identify the `KAFKA_ADVERTISED_HOST_NAME`. Some similar workaround has to exist for Windows users.
For linux I assume you can just set it to `localhost` if you're only running on Kafka node. See [github.com/wurstmeister/kafka-docker/wiki/Connectivity](https://github.com/wurstmeister/kafka-docker/wiki/Connectivity).

## Kafka
Kafka will be served on `localhost:9092`

## Frontend
open `/geostream/frontend/app/index.html` and associated `map.js` will consume messages when they come in

## Producer
can produce messages to a topic at `localhost:8002/producer/`

## Consumer
can consume kafka messages through at `localhost:8003/consumer/`