JHipster Microservices
https://github.com/jhipster/jhipster-registry
pom.xml
<java.version>11</java.version>
to <java.version>8</java.version>
<release>${java.version}</release>
and comment this linePerform that commands, the Jipster Registry will be supported by java version 8 instead version 11 (recommend use version 11 because, in soon, the support to java 8 will be removed)
git clone https://github.com/jhipster/jhipster-registry.git registry
cd registry && npm install && ./mvnw
cd registry && ./mvnw
Before to execute the services deploy, its need execute the script bellow (this script work only to Linux based operation system):cd ./docker && sh create-volumes-to-docker-service.sh
cd ./docker
sh deploy-services.sh
cd ./docker
sh undeploy-services.sh
keycloak.yml
The directory realm-config
contains the realm will be imported to Keycloak on startup.
Its necessary add an configration to /etc/hosts
to allow use Keycloak inside Docker.
127.0.0.1 keycloak
postgres.yml
mongodb.yml
https://www.youtube.com/watch?v=6Gd7OOjqHX0
Microservice application
No
blog
8081
com.jetherrodrigues.blog
JHipster Registry (uses Eureka, provides Spring Cloud Config support and monitoring dashboards)
OAuth 2.0 / OIDC Authentication (stateful, works with Keycloak and Okta)
SQL (H2, MySQL, MariaDB, PostgreSQL, Oracle, MSSQL)
PostgreSQL
PostgreSQL
Yes, with the Hazelcast implementation (distributed cache, for multiple nodes, supports rate-limiting for gateway applications)
Yes
Maven
Search engine using Elasticsearch
Yes
English
Portuguese (Brazilian)
Gatling, Cucumber
n
cd blog
jhipster import-jdl blog.jdl
entity Blog {
name String required minlength(3)
handle String required minlength(2)
}
entity Post {
title String required
content TextBlob required
date Instant required
}
entity Tag {
name String required minlength(2)
}
relationship ManyToOne {
Blog{user(login)} to User
Post{blog(name)} to Blog
}
relationship ManyToMany {
Post{tag(name)} to Tag{entry}
}
microservice Blog with blog
microservice Post with blog
microservice Tag with blog
Microservice application
No
store
8082
com.jetherrodrigues.store
JHipster Registry (uses Eureka, provides Spring Cloud Config support and monitoring dashboards)
OAuth 2.0 / OIDC Authentication (stateful, works with Keycloak and Okta)
SQL (H2, MySQL, MariaDB, PostgreSQL, Oracle, MSSQL)
PostgreSQL
PostgreSQL
Yes, with the Hazelcast implementation (distributed cache, for multiple nodes, supports rate-limiting for gateway applications)
Yes
Maven
Search engine using Elasticsearch
Yes
English
Portuguese (Brazilian)
Gatling, Cucumber
n
cd store
jhipster import-jdl store.jdl
entity Product {
sku String required minlength(5) unique
name String required minlength(3)
observation String maxlength(256)
price BigDecimal required
}
microservice Product with store
Microservice gateway
No
gateway
8080
com.jetherrodrigues.gateway
JHipster Registry (uses Eureka, provides Spring Cloud Config support and monitoring dashboards)
OAuth 2.0 / OIDC Authentication (stateful, works with Keycloak and Okta)
MongoDB
Yes, with the Ehcache implementation (local cache, for a single node)
Maven
Nothing
Angular
Lumen
Primary
Yes
English
Portuguese (Brazilian)
Gatling, Cucumber, Protractor
N
jhipster import-jdl ../blog/blog.jdl
jhipster import-jdl ../store/store.jdl
cd docker-compose-msa
jhipster docker-compose
Which type of application would you like to deploy? Microservice application
JHipster gateway based on Netflix Zuul
../
blog, gateway, store
to toggle all, to invert selection)
Nothing
No
JHipster registry detected as the service discovery and configuration provider used by your apps
- Enter the admin password used to secure the JHipster Registry admin
To generate the missing Docker image(s), please run:
./mvnw -ntp -Pprod verify jib:dockerBuild in ../blog
./mvnw -ntp -Pprod verify jib:dockerBuild in ../gateway
./mvnw -ntp -Pprod verify jib:dockerBuild in ../store
cd docker-compose-msa && docker-compose up -d
https://github.com/maxdevjs/kitematic.wiki-my/blob/master/Linux-Install.md
if an error occurred in installation access this link to help to solve the install problem:
https://www.how2shout.com/how-to/how-to-install-kitematic-on-ubuntu-20-04.html