oemdaro / mqtt-microservices

The example of MQTT microservices based system build on top of Node.js, Go (Golang), Java, gRPC and Apache Kafka

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mqtt-microservices

The example of MQTT microservices based system build on top of Node.js, Go (Golang), gRPC and Apache Kafka

Dockerize App

To build docker images of our app run the following command

$ cd $GOPATH/src/github.com/oemdaro/mqtt-microservices
$ make

Run Docker App

$ # start data-service app
$ docker run -t -i --rm --network="host" --env CASSANDRA_PEERS=127.0.0.1,127.0.0.2,127.0.0.3 --env CASSANDRA_KEYSPACE=mqttexample --env KAFKA_PEERS=localhost:9092 --env KAFKA_TOPICS=mqtt.data --env MAX_QUEUE=5 --env MAX_WORKER=3 local/data-service
$ # start auth-service
$ docker run -t -i --rm --network="host" --env MYSQL_HOST=localhost:3306 --env MYSQL_DB=mqtt_example --env MYSQL_USER=mqttuser --env MYSQL_PASSWORD=password --env AES_KEY="a very very very very secret key" local/auth-service
$ # start mqtt-server
$ docker run -t -i --rm --network="host" --env PORT=1883 --env REDIS_SENTINELS_HOST_1=127.0.0.1 --env REDIS_SENTINELS_PORT_1=26380 --env REDIS_SENTINELS_HOST_2=127.0.0.1 --env REDIS_SENTINELS_PORT_2=26381 --env REDIS_SENTINELS_HOST_3=127.0.0.1 --env REDIS_SENTINELS_PORT_3=26382 --env KAFKA_PEERS=localhost:9092 --env KAFKA_TOPIC=mqtt.data --env GRPC_SERVER=localhost:50051 local/mqtt-server

Run on Kubernetes

Update soon...

About

The example of MQTT microservices based system build on top of Node.js, Go (Golang), Java, gRPC and Apache Kafka

License:MIT License


Languages

Language:Go 39.7%Language:Java 26.1%Language:JavaScript 20.4%Language:Shell 12.7%Language:Makefile 1.2%