diff --git a/README.md b/README.md index b290866..42a227d 100644 --- a/README.md +++ b/README.md @@ -13,13 +13,6 @@ This project is for educational purposes only. It does not implement any authentication and/or encryption protocol, so it is not suitable for real production. -![Application Schema](./docs/application_chart.png) - -### Future implementations - -- Broker HA via [VerneMQ clustering](https://docs.vernemq.com/clustering/introduction) -- Stream analytics via [Apache Spark](https://spark.apache.org/) - ## Installation ### Requirements @@ -36,8 +29,10 @@ The application stack is composed by the following components: - [Django](https://www.djangoproject.com/) with [Django REST framework](https://www.django-rest-framework.org/) web application (running via `gunicorn` in production mode) - - `mqtt-to-db` custom daemon to dump telemetry into the timeseries database + - `dispatcher` custom daemon to dump telemetry into the Kafka queue + - `handler` custom daemon to dump telemetry into the timeseries database from the Kafka queue - telemetry payload is stored as json object (via PostgreSQL JSON data type) +- [Kafka](https://kafka.apache.org/) broker - [Timescale](https://www.timescale.com/) DB, a [PostgreSQL](https://www.postgresql.org/) database with a timeseries extension - [Mosquitto](https://mosquitto.org/) MQTT broker (see alternatives below) diff --git a/requirements-dev.txt b/requirements-dev.txt index f37be1f..199768c 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -4,3 +4,4 @@ ipython flake8 pyinstrument django-debug-toolbar +urllib3