Skip to content

ibm-cloud-architecture/fortune-teller

 
 

Repository files navigation

Fortune Teller

Fortune Teller is a very basic application composed of two services:

  1. Fortune Service - serves up random Chinese fortune cookie fortunes

  2. Fortune UI - presents a UI that consumes the fortune service

It leverages libraries and services from Spring Cloud and Netflix OSS to compose the system.

Note
Want to deploy Fortune Teller to Pivotal Cloud Foundry environments that have installed the Spring Cloud Services package? See the SCS version of Fortune Teller.

Build

  1. Using Maven, build and package the application:

    $ mvn clean package

    Maven will automatically download all of Fortune Teller's dependencies. This may take a few moments.

Run

  1. Start the Config Server

    $ cd fortune-teller-config-server
    $ mvn spring-boot:run
  2. Start the Eureka Service

    $ cd fortune-teller-eureka
    $ mvn spring-boot:run
  3. Start the Hystrix Dashboard

    $ cd fortune-teller-hystrix-dashboard
    $ mvn spring-boot:run
  4. Start the Fortunes Service

    $ cd fortune-teller-fortune-service
    $ mvn spring-boot:run
  5. Start the Fortunes UI

    $ cd fortune-teller-ui
    $ mvn spring-boot:run

Test the Application

  1. In a browser, access the fortunes-ui application at http://localhost:8081/

    fortunes 1

  2. Now, in another browser tab, access the Hystrix Dashboard at http://localhost:7979/hystrix/. Enter the route for the UI application, http://localhost:8081/hystrix.stream, and click the ``Monitor Stream.''

    fortunes 2

  3. Access the fortunes-ui and show that the circuit breaker is registering successful requests.

    fortunes 3

  4. Stop the fortunes application

  5. Access the fortunes-ui and see that the ``fallback fortune'' is being returned.

    fortunes 4

  6. Access the fortunes-ui and show that the circuit breaker is registering short-circuited requests.

    fortunes 5

  7. Restart the fortunes application

  8. Continue to access the fortunes-ui and watch the dashboard. After the fortunes service has re-registered with Eureka and the fortunes-ui load balancer caches are refreshed, you will see the circuit breaker recover. You should then start getting random fortunes again!

About

Yet another great Spring Cloud sample app...

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 68.0%
  • Groovy 19.7%
  • HTML 5.8%
  • Dockerfile 2.8%
  • JavaScript 2.3%
  • Perl 1.4%