Skip to content

IBM/spring-features

Repository files navigation

Spring Features

Overview

This proof of concept includes 8 micro services. Each of it represents an Java Spring feature. This document helps you to get an overview of the project and a guide.

The repository contains the following micro services.

Architecture

The following picture is summarizing the architecture of the project. Image of the architecture

Preparation

Please install the following tools on your local machine:

Starting

There are two ways to start this spring feature poc:

  • manual via maven
  • automatically via maven

Manual via maven

After cloning the complete repository to your local computer, change to the subfolder and start each micro service with maven:

mvn -DDOCKER_MACHINE_IP=127.0.0.1 -DEUREKA_PORT=8761 -DZIPKIN_PORT=9411 spring-boot:run

Please be sure to start the services in this order:

  1. service-eureka
  2. service-addressbook
  3. service-people
  4. service-client

Automatically via maven

To start all services via the shell-script, type the following command:

.\build_local.sh

Description of each micro services

Service Addressbook (:8762)

The Addressbook service creates an address book with people in it. The amount of people can be defined as an url parameter (e.g. 10). The service gets all the people from the service "service-people".

There are two possibilities to get an address book. The endpoint "getAddressbookMultiple" calls the service-people once to get all the people. The endpoint "getAddressbookSingle" calls the service-people multiple times.

Endpoints

Service People (:8767)

This service creates people. The amount of people can be defined as a url parameter (e.g. 10). The service generates random names and details.

Endpoints

Service Client (:8764)

This service creates an HTML/AngularJS web page. There it is possible to see the service url from the address book service and requests an specific amount of people.

Endpoints

Service Eureka (:8761)

This service starts an eureka server. With this you can manage and see all available services.

Endpoints

Service Gateway (:8765)

This service starts an Spring Zuul server. With this you can use load balancing and proxy requests in the project.

Endpoints

Service Hystrix (:8768)

This service starts an Spring Hystrix dashboard which can visualize the turbine or hystrix streams.

Endpoints

Service Monitor (:8766)

This service starts an Spring Boot Admin server. With this you can have an detailed view for each micro service. Its also possible to see all calls, logging or version details. Also an ram usage is available.

Endpoints

Service Zipkin (:9411)

This service starts an Spring Zipkin server. With this you can trace all requests from each micro service.

Endpoints

Deploy to IBM Cloud

With the following button you can deplo the poc to the IBM Cloud.

Deploy to IBM Cloud

About

This repository demonstrates key spring boot functionality.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published