Skip to content

Commit 2d439d4

Browse files
committed
Merge remote-tracking branch 'origin/main'
2 parents 4c23143 + f6ddb23 commit 2d439d4

File tree

16 files changed

+323
-30
lines changed

16 files changed

+323
-30
lines changed

README.md

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1-
# Sprint Boot Microservices Example
1+
# Java Spring-Boot Microservices Example
22

3+
Light-weight sample for Microservices learning
34

4-
5-
65
---
7-
### Services Registry
6+
### [Services Registry](service-registry)
87
- Spring Boot version: 2.5.0
98
- Dependencies:
109
- spring-cloud-starter-netflix-eureka-server
1110
---
12-
### API Gateway
11+
### [API Gateway](api-gateway)
1312
Spring Boot version: 2.3.11.RELEASE
1413
- Dependencies:
1514
- spring-cloud-starter-gateway
@@ -18,15 +17,15 @@ Spring Boot version: 2.3.11.RELEASE
1817
- spring-cloud-starter-config
1918
-
2019
---
21-
### Config Server
20+
### [Config Server](config-server)
2221
- Spring Boot version: 2.5.0
23-
- Github repository -> application.yml
22+
- GitHub repository -> application.yml
2423
- Dependencies:
2524
- spring-cloud-config-server
2625
- spring-cloud-starter-netflix-eureka-client
27-
- Zookeper (not yet)
26+
- Zookeeper (not yet)
2827
---
29-
### Hystrix Dashboard
28+
### [Hystrix Dashboard](hystrix-dashboard)
3029
- Spring Boot version: 2.3.11.RELEASE
3130
- Dependencies:
3231
- spring-cloud-starter-config
@@ -35,7 +34,7 @@ Spring Boot version: 2.3.11.RELEASE
3534
---
3635
### Other Microservices
3736
- Spring Boot version: 2.5.0
38-
- Person, Department, Task Mangement Services
37+
- [Person](person-service), [Department](department-service), [Task Management](task-service) Services
3938
- Dependencies:
4039
- spring-cloud-starter-config
4140
- spring-cloud-starter-netflix-eureka-client
@@ -46,10 +45,15 @@ Spring Boot version: 2.3.11.RELEASE
4645
- spring-boot-starter-web
4746
---
4847

48+
### [Docker Compose](docker-compose)
49+
Launch all service
50+
```shell
51+
$ docker-compose -f docker-compose/app.yml up -d
52+
```
4953

5054
### Zipkin
5155
Docker
52-
The Docker Zipkin project is able to build docker images, provide scripts and a docker-compose.yml for launching pre-built images. The quickest start is to run the latest image directly:
56+
The Docker Zipkin project is able to build docker images, provide scripts, and a docker-compose.yml for launching pre-built images. The quickest start is to run the latest image directly:
5357

5458
docker run -d -p 9411:9411 openzipkin/zipkin
5559

@@ -84,7 +88,11 @@ $ docker-compose -f docker-compose/app.yml up -d
8488
$ docker-compose -f docker-compose/app.yml down
8589
```
8690

87-
References:
91+
### Screenshots
92+
93+
![All Microservices UP](files/pictures/microservices-allservice-on-eureka.png)
94+
95+
### References:
8896

8997
- https://spring.io/microservices
9098
- https://microservices.io/patterns/microservices.html

api-gateway/src/main/resources/application.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ eureka:
5959
register-with-eureka: true
6060
fetch-registry: true
6161
service-url:
62-
defaultZone: http://localhost:8761/eureka/
63-
#defaultZone: http://service-registry:8761/eureka/
62+
# defaultZone: http://localhost:8761/eureka/
63+
defaultZone: http://service-registry:8761/eureka/
6464
instance:
6565
hostname: service-registry
6666

api-gateway/src/main/resources/bootstrap.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ spring:
22
cloud:
33
config:
44
enabled: true
5-
uri: http://localhost:9296
5+
uri: http://config-server:9296

config-server/src/main/docker/app.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@ services:
66
hostname: config-server
77
environment:
88
- _JAVA_OPTIONS=-Xmx512m -Xms256m
9+
- EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE=http://service-registry:8761/eureka
910
ports:
1011
- 9296:9296

config-server/src/main/resources/application.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@ spring:
1010
# git:
1111
# uri: https://github.com/cevheri/microservices-config-server
1212
# clone-on-start: true
13+
1314
eureka:
1415
client:
1516
register-with-eureka: true
1617
fetch-registry: true
1718
service-url:
18-
defaultZone: http://localhost:8761/eureka/
19-
#defaultZone: http://service-registry:8761/eureka/
19+
# for local run
20+
# defaultZone: http://localhost:8761/eureka/
21+
defaultZone: http://service-registry:8761/eureka/
2022
instance:
2123
hostname: service-registry

department-service/src/main/resources/application.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ spring:
22
application:
33
name: department-service
44
zipkin:
5-
base-url: http://127.0.0.1:9411/
5+
base-url: http://zipkin:9411/
66

77
server:
88
port: 9001
@@ -12,8 +12,8 @@ eureka:
1212
register-with-eureka: true
1313
fetch-registry: true
1414
service-url:
15-
defaultZone: http://localhost:8761/eureka/
16-
#defaultZone: http://service-registry:8761/eureka/
15+
#defaultZone: http://localhost:8761/eureka/
16+
defaultZone: http://service-registry:8761/eureka/
1717
instance:
1818
hostname: service-registry
1919

department-service/src/main/resources/bootstrap.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ spring:
22
cloud:
33
config:
44
enabled: true
5-
uri: http://localhost:9296
5+
uri: http://config-server:9296
126 KB
Loading

files/scripts/dockerscript.sh

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
2+
# jib build images
3+
cd ~/projects/springboot-microservices-example/service-registry && ./mvnw -Pprod clean verify jib:dockerBuild && cd ~
4+
cd ~/projects/springboot-microservices-example/config-server && ./mvnw -Pprod clean verify jib:dockerBuild && cd ~
5+
cd ~/projects/springboot-microservices-example/api-gateway && ./mvnw -Pprod clean verify jib:dockerBuild && cd ~
6+
cd ~/projects/springboot-microservices-example/hystrix-dashboard && ./mvnw -Pprod clean verify jib:dockerBuild && cd ~
7+
cd ~/projects/springboot-microservices-example/department-service && ./mvnw -Pprod clean verify jib:dockerBuild && cd ~
8+
cd ~/projects/springboot-microservices-example/person-service && ./mvnw -Pprod clean verify jib:dockerBuild && cd ~
9+
cd ~/projects/springboot-microservices-example/task-service && ./mvnw -Pprod clean verify jib:dockerBuild && cd ~
10+
11+
# network config
12+
docker network create ms-network
13+
docker network connect ms-network service-registry #or run
14+
15+
# run images
16+
docker run -d --network ms-network -p 8761:8761 --name service-registry cevheri/service-registry:latest
17+
docker run -d --network ms-network -p 9296:9296 --name config-server cevheri/config-server
18+
docker run -d --network ms-network -p 9191:9191 --name api-gateway cevheri/api-gateway:latest
19+
docker run -d --network ms-network -p 9295:9295 --name hystrix-dashboard cevheri/hystrix-dashboard:latest
20+
docker run -d --network ms-network -p 9001:9001 --name department-service cevheri/department-service:latest
21+
docker run -d --network ms-network -p 9002:9002 --name person-service cevheri/person-service:latest
22+
docker run -d --network ms-network -p 9003:9003 --name task-service cevheri/task-service:latest
23+
24+
# set docker tag and docker push hub.docker remote repository
25+
docker tag cevheri/service-registry:latest cevheri/service-registry:latest
26+
docker tag cevheri/service-registry:latest cevheri/service-registry:v1.2.0
27+
docker push cevheri/service-registry:v1.2.0
28+
docker push cevheri/service-registry:latest
29+
30+
docker tag cevheri/config-server:latest cevheri/config-server:latest
31+
docker tag cevheri/config-server:latest cevheri/config-server:v1.2.0
32+
docker push cevheri/config-server:v1.2.0
33+
docker push cevheri/config-server:latest
34+
35+
docker tag cevheri/api-gateway:latest cevheri/api-gateway:latest
36+
docker tag cevheri/api-gateway:latest cevheri/api-gateway:v1.2.0
37+
docker push cevheri/api-gateway:v1.2.0
38+
docker push cevheri/api-gateway:latest
39+
40+
docker tag cevheri/hystrix-dashboard:latest cevheri/hystrix-dashboard:latest
41+
docker tag cevheri/hystrix-dashboard:latest cevheri/hystrix-dashboard:v1.2.0
42+
docker push cevheri/hystrix-dashboard:v1.2.0
43+
docker push cevheri/hystrix-dashboard:latest
44+
45+
docker tag cevheri/department-service:latest cevheri/department-service:latest
46+
docker tag cevheri/department-service:latest cevheri/department-service:v1.2.0
47+
docker push cevheri/department-service:v1.2.0
48+
docker push cevheri/department-service:latest
49+
50+
docker tag cevheri/person-service:latest cevheri/person-service:latest
51+
docker tag cevheri/person-service:latest cevheri/person-service:v1.2.0
52+
docker push cevheri/person-service:v1.2.0
53+
docker push cevheri/person-service:latest
54+
55+
docker tag cevheri/task-service:latest cevheri/task-service:latest
56+
docker tag cevheri/task-service:latest cevheri/task-service:v1.2.0
57+
docker push cevheri/task-service:v1.2.0
58+
docker push cevheri/task-service:latest

hystrix-dashboard/src/main/resources/application.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ eureka:
1414
register-with-eureka: true
1515
fetch-registry: true
1616
service-url:
17-
defaultZone: http://localhost:8761/eureka/
18-
#defaultZone: http://service-registry:8761/eureka/
17+
# defaultZone: http://localhost:8761/eureka/
18+
defaultZone: http://service-registry:8761/eureka/
1919
instance:
2020
hostname: service-registry

0 commit comments

Comments
 (0)