TODO: try https://github.com/thake/avro4k-kafka-serializer
A set of data microservices
for analysing applogs using Kafka Streams
data microservices
can be deployed and orchestrated using Spring Cloud Data Flow (SCDF)
use
./gradlew
instead ofgradle
if you didn’t installedgradle
gradle word-count:test
gradle word-count:build -x test
# continuous build with `-t`.
gradle -t word-count:build
# build docker image
gradle word-count:docker -x test
Deploying to production.
nohup java -jar -Dspring.profiles.active=prod word-count-0.1.0-SNAPSHOT.jar > log.log 2>&1 &
docker-compose build
run locally
start kafka
docker-compose up kafka
docker-compose -f docker-compose-local.yml up
# stop and remove volumes
docker-compose -f docker-compose-local.yml down -v
docker-compose up kibana
# test elasticsearch
http://localhost:9200/peg_logs/_search?pretty
docker-compose up fluentd web
# use `fluentd-*` index in kibana dashboard
docker-compose up connect
docker-compose up dataflow
# Open the dashboard at http://localhost:9393/dashboard
# do https://cloud.spring.io/spring-cloud-dataflow/
# bulkload http://bit.ly/Celsius-BUILD-SNAPSHOT-stream-applications-kafka-10-maven
# stop and remove volumes
docker-compose down -v
gradle word-count:bootRun
# run with `prod` profile.
SPRING_PROFILES_ACTIVE=prod gradle word-count:bootRun
# fource to enable debug logs
SPRING_PROFILES_ACTIVE=prod gradle word-count:bootRun --debug
# via docker
docker-compose up word-count
docker-compose exec kafka bash
# then you can run following commands in this shell
kafka-console-consumer --bootstrap-server kafka:9092 --from-beginning --property print.key=true --topic counts
kafka-console-producer --broker-list kafka:9092 --topic words
# upgrade project gradle version
gradle wrapper --gradle-version 4.4.1 --distribution-type all
# gradle daemon status
gradle --status
gradle --stop
# show dependencies
gradle word-count:dependencies
# refresh dependencies
gradle build -x test --refresh-dependencies