Skip to content

jhipster/jhipster-experimental-microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is an EXPERIMENTAL, TEMPORARY repository for JHipster using microservices

Introduction

This repository is:

  • EXPERIMENTAL
  • TEMPORARY

This is a proof of concept of using JHipster in a microservices architecture, using:

What is currently provided

  • JHiRegistry is an application registry, based on Netflix Eureka
  • JHiGateway is a JHipster application which is also a router, based on Netflix Zuul
  • JHiDashboard is a monitoring dashboard, based on Netflix Turbine
  • app1 is a JHipster application, which registers itself to JHiRegistry

How to use it

Run mvn on each project to get them running.

  • JHiGateway and app1 will register themselves to JHiRegistry
  • JHiGateway will route requests to /api/foos to app1

You can also run several app1 instances by changing their Spring Boot server.port property, and you will see them in JHiRegistry.

What is missing

  • Monitoring and logging: this should be done using the ELK stack, with Logstash handling the Spring Boot logs

What should be done

  • Have a nice uniform UI for everything: JHiRegistry and JHiDashboard should be available in the Admin dashboard of JHiGateway, with the usual JHipster UI
  • JHiGateway should also have an admin UI to add/remove/edit routes at runtime: Zuul allows this using a Cassandra backend, we might also need to implement another backend (which is easy).
  • Have some validated workflows to work on AngularJS (served by JHiGateway) and a REST endpoint served by a backend application (and routed by JHiGateway)

What will be done in the future

  • JHiRegistry, JHiDashboard will be standalone applications.
  • JHiGateway might be a standalone application, or be generated by JHipster (still needs to be discussed)
  • JHipster applications will have a new option to register themselves to Eureka