Skip to content

Latest commit

 

History

History
46 lines (29 loc) · 1.92 KB

File metadata and controls

46 lines (29 loc) · 1.92 KB

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