This is an EXPERIMENTAL, TEMPORARY repository for JHipster using microservices
This repository is:
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
mvn on each project to get them running.
- JHiGateway and app1 will register themselves to JHiRegistry
- JHiGateway will route requests to
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