Giter Club home page Giter Club logo

microservices-uaa-demo's Introduction

microservices-uaa-demo

This is a reference application that implements a microservices-based architecture using Spring Cloud, Spring Cloud Config and Spring Cloud Netflix. This application used JHipster to scaffold out the various components and you can find documentation and help at https://jhipster.github.io.

The following projects are included in this repo:

  • gateway - This server supports serving an AngularJS/Bootstrap web client in addition to being an Embedded Zuul Reverse Proxy that forwards requests to the backend services.

  • uaa - This is the user account and authentication (uaa) that is used by the gateway to authenticate calls to the backend services.

  • docker directory - This contains a [docker-compose.yml] to spin up the demo using docker containers. For local development, you can use the [jhipster-registry.yml] and [elk.yml] for the config, registry, and centralized logging. Then run the uaa and gateway projects via your ide.

  • device-service and event-service - These are simple microservices that register themselves with the jhipster-registry for service discovery that implements Spring Cloud Netflix Eureka.

TODOs

  • Update gateway with bootstrap template
  • swap out logo to generic
  • add service to service call between device and event service
  • add redis, rabbitmq, kafka messaging

Target Architecture

Target Architecture

Development

Before you can build this project, you must install and configure the following dependencies on your machine:

  • Install Java 8 from the Oracle website.
  • Install docker and docker-compose.
  • Install Node.js from the Node.js website (prefer an LTS version). This will also install npm, which is the node package manager we are using in the next commands.
  • Install Yeoman: npm install -g yo
  • Install Bower: npm install -g bower
  • Install Gulp: npm install -g gulp
  • Install JHipster: npm install -g generator-jhipster

More details here: http://jhipster.github.io/installation/

Running locally

These steps require that you have docker and docker-compose installed.

  1. Start the jhipster-registry via docker: docker-compose -f docker/jhipster-registry.yml up -d
  2. Start the jhipster-console via docker: docker-compose -f docker/elk.yml up -d
  3. Run the uaa service with a dev profile: mvn -Pdev
  4. Run the gateway service with a dev profile: mvn -Pdev
  5. Run the device-service with a dev profile: mvn -Pdev
  6. Run the event-service with a dev profile: mvn -Pdev

Building for production

To optimize the projects for production, run:

./mvnw -Pprod clean package

To ensure everything worked, run:

java -jar target/*.war --spring.profiles.active=prod

Continuous Integration

To setup this project in Jenkins, see each module's readme.

microservices-uaa-demo's People

Contributors

russomi avatar

Watchers

Mitesh Ukate avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.