Skip to content

pradyb/microservices

Repository files navigation

Prady's sample application:- Microservice Architecture Pattern

CircleCI Code Climate

This is a PoC application, which demonstrates Microservice Architecture Pattern using Spring Cloud, Netflix OSS, Consul, ELK, Docker and monitoring solution.

Frameworks used

Before you start

  • Install Docker and Docker Compose.

Get, Build and Run

  • git clone https://github.com/pradyb/microservices
  • cd microservices
  • mvnw clean package -DskipTests
  • docker-compose up --build -d
  • cd devops-monitoring
  • docker-compose up --build -d

Test

  • mvn test This test invokes various APIs via Gateway service and the results can be monitor using below URLs.
Scale a container
  • docker-compose scale userservice=2

URLs

Containers Use URL
Consul Service Discovery and Configuration http://localhost:8500/ui
Kibana Log Visualize http://localhost:5601
Zipkin Distributed Tracing system http://localhost:9411
Hystrix & Turbine Aggregating streams of Server-Sent Event (SSE) http://localhost:8080/hystrix/
Prometheus Application Metrics Database http://localhost:9090/graph
Grafana Metrics Visualize http://localhost:3000
RabbitMQ Message Broker http://localhost:15672
Other info
  • Grafana: Login with user name admin and password changeme.
  • Kibana: URL to view logs with basic columns.
http://localhost:5601/app/kibana#/discover?_g=(refreshInterval:('$$hashKey':'object:999',display:'5%20seconds',pause:!f,section:1,value:5000),time:(from:now%2Fd,mode:quick,to:now%2Fd))&_a=(columns:!(host,level,appname,logger_name,message,X-B3-ParentSpanId,X-B3-TraceId,thread_name),index:'logstash-*',interval:auto,query:(query_string:(analyze_wildcard:!t,query:'*')),sort:!('@timestamp',desc),uiState:(spy:(mode:(fill:!f,name:!n)),vis:(legendOpen:!f)))

Grafana Dashboard

  • Application Transactions Application Transactions
  • Hystrix Hystrix

Turbine Dashboard Turbine

Zipkin Zipkin Zipkin

Thanks to Stefan Prodan for providing a great setup for monitoring Docker containers Stefan Prodan Blog.

TODO

  • OAuth for Client services.

About

PoC application for Microservice Architecture Pattern

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published