- This repository is an implementation of the Ambassador Architecture (aka Integrated Microservices).
- There is a companion article that details some interesting parts.
- The use case is not that important, and means to create/update a customer with a credit rating score.
- It uses Spring Boot, Spring Cloud Stream, RabbitMQ, and the ELK stack for Observability.
- Every state is stored in-memory only. This is NOT production code, but instead is an example of how to create integrated microservices.
docker-compose up rabbit-mq
docker run -d -it --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.12.1
docker run -d -it --name kibana --link es:elasticsearch -p 5601:5601 docker.elastic.co/kibana/kibana:7.12.1
docker pull docker.elastic.co/logstash/logstash:7.12.1
docker run -d -it --name logstash --net=host logstash:7.12.1 -e 'input { rabbitmq {host => "localhost" port => 5672 queue => "logInQueue" durable => true} } output { elasticsearch { hosts => ["localhost"] } }'
docker start logstash