Skip to content

jdutreve/integrated-microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Context

  • 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.

Starting RabbiMQ, Logstash, ElasticSearch and Kibana

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