Ports & Adapters Architecture ou Arquitetura Hexagonal: A arquitetura hexagonal, ou arquitetura de portas e adaptadores, é um padrão arquitetural usado no design de software. O objetivo é criar componentes de aplicativos fracamente acoplados que possam ser facilmente conectados ao ambiente de software por meio de portas e adaptadores.
Aplicação | Porta |
---|---|
Ms-Launcher | 8080 |
Sonarqube | 9000 |
Postgres Sonarqube | 5432 |
MySQL | 3600 |
Elasticsearch | 9200 |
Logstash | 5044 |
Kibana | 5601 |
Prometheus | 9090 |
Grafana | 3000 |
Alertmanager | 9093 |
Jaeger | 16686 |
Variável de Ambiente | Descrição |
---|---|
MYSQL_HOST |
Especifique o host do banco de dados MySQL a ser usado (padrão localhost ) |
MYSQL_PORT |
Especifique a porta do banco de dados MySQL a ser usada (padrão 3306 ) |
JAEGER_HOST |
Especifique o host do Jaeger a ser usado (padrão localhost ) |
JAEGER_PORT |
Especifique a porta do Jaeger a ser usada (padrão 6831 ) |
cd scripts
/bin/bash start-app.sh
./mvnw clean spring-boot:run --projects ms-launcher
Nota: Se você quiser mudar para "non-json-logs" (talvez durante o desenvolvimento seja útil), execute
./mvnw clean spring-boot:run --projects ms-launcher -Dspring-boot.run.jvmArguments="-Dspring.profiles.active=non-json-logs"
docker-compose up
docker-compose ps
poc-multi-module-arch-hexagonal-springboot
wos
e clique em Generatescripts/sonar.sh
pelos criado agoracd scripts
/bin/bash sonar.sh
mvn clean test-compile org.pitest:pitest-maven:mutationCoverage
Discover
Create index pattern
Name
, defina filebeat-*
Timestamp field
selecione @timestamp
Create index pattern
http://localhost:8080/actuator/prometheus
http_server_requests_seconds_sum
vai retorna as metricas/grafico (clicando na aba graph)dashboard -> browse
depois clique em JVM (Micrometer)
ele vai abrir um dashboarddashboard -> browse
depois clique em metrics-ms-launcher-api
ele vai abrir um dashboardalerts
conseguimos ver os acionados e que o alertmanager vai enviar a comunicação via feramenta configuradacd scripts
/bin/bash remove-docker-images.sh