🐳 Personal learning use cases. 个人学习用例。
以异构语言为目的的微服务架构,高自由度,可扩展,可伸缩。
使用 Docker 构建服务。本地架构服务器IP:192.168.1.254
,本地开发计算机IP:192.168.1.188
※启动服务组件的时候,请注意服务之间的依赖!
type | version |
---|---|
spring boot | 2.0.6.RELEASE |
spring cloud | Finchley.SR2 |
jdk | 1.8 |
application | port | describe |
---|---|---|
spring-cloud-eureka | 9010/9011 | 注册中心:安全认证 |
spring-cloud-config | 9020 | 配置中心:配置刷新 |
spring-cloud-zuul | 9030 | API网关:回退、熔断、重试、限流、鉴权 |
spring-boot-admin | 9040 | boot管理:监控、日志、配置 |
spring-cloud-oauth | 9050 | 授权中心:注册、签发、鉴权、撤销 |
spring-cloud-sidecar | -- | 异构客户端代理 |
服务启动的顺序,参考服务依赖。
容器的启动参考:cloud-docker-compose 的说明文档
项目打包命令:
mvn clean
:删除 target 目录mvn package
:重新打包
打包后的 jar 包,上传至 cloud-docker-compose/volumes/[容器名称]/
目录下。
关于进入容器和 jar 包的相关操作,封装了操作脚本:
宿主机中脚本目录:cloud-docker-compose/sh/
容器中脚本目录:/usr/local/sh/
- 进入容器
运行脚本:./docker_in.sh
出现以下界面:
The container currently running:
--------------------------------------------------
1 statistics_service_redis_even
2 statistics_service_redis_odd
3 statistics_service_phpredisadmin_odd
4 statistics_service_phpredisadmin_even
5 statistics_service_phpredisadmin
6 openzipkin
7 openzipkin_dependencies
8 openzipkin_mysql
9 behavior_mycat
10 log_service_nginx
...
--------------------------------------------------
Please enter the container line number: [输入需要进入容器的编号]
输入需要进入容器的编号,回车进入容器。
- 启动 jar
运行脚本:./jar_start.sh
出现以下界面:
Enter the jar storage directory(default: /data):[jar 包存储目录]
--------------------------------------------------
1 ****.jar
--------------------------------------------------
Enter the line number to run the jar package(default: 1): [启动的 jar 包编号]
Enter the log storage directory(default: /dev/null): [启动信息输出目录,默认不输出(调试使用)。项目中有关于此信息的默认日志文件]
Input configuration environment(default: dev): [启动环境,加载不同的配置文件]
- 关闭 jar
运行脚本:./jar_stop.sh
出现以下界面:
The jar package that is running:
--------------------------------------------------
47 ? Sl 249:10 java -jar /data/cloud-eureka-1-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
7609 ? S+ 0:00 grep java -jar .*jar [※忽略此运行进程]
--------------------------------------------------
Input PID of the process: [输入需要结束的进程 PID]
- 重启 jar
运行脚本:./jar_restart.sh
出现以下界面:
Enter the jar storage directory(default: /data): [jar 包存储目录]
--------------------------------------------------
1 ***.jar
--------------------------------------------------
Enter the line number to run the jar package(default: 1): [启动的 jar 包编号]
Enter the log storage directory(default: /dev/null):[启动信息输出目录,默认不输出(调试使用)。项目中有关于此信息的默认日志文件]
Input configuration environment(default: dev): [重新启动环境,加载不同的配置文件]
项目日志位置:
- 宿主机日志目录:
cloud-docker-compose/logs/spring/
- 容器日志目录:
/data/logs/spring/[服务名称]/