最近一直在研究微服务的东西,发现微服务项目的部署运维比较麻烦,经过几天终于完整的把一套微服务部署了起来,这期间真是遇到太多问题,虽然最终觉得都不是什么大问题,但是这个过程总是艰难的,还好硬着头皮坚持了下来。本篇文章的项目是用了一个开源项目,对其进行了改造,是一个很不错的微服务学习开源项目,推荐一下:地址为https://gitee.com/wells2333/spring-microservice-exam/tree/master
当然本篇文章主要是总结下如何部署微服务的,传统的方式就是打jar或者war的方式运行项目,但是微服务的分支比较多,如何还按照原来的方式进行部署,那就太麻烦了,所以用docker部署的方式。
项目主要是用consul作为的注册中心,docker部署用的是集群版的,当然可以使用远程地址,但是在部署的时候一定要记得修改地址,地址的所有配置都是宿主机的地址,如下:
compose进行项目部署的编排
编排文件如下:
命令执行文件:
docker-compose.env(一些基础的配置信息)
# JVM参数
# 可通过docker-compose -f docker-compose-services.yml config命令查看是否生效
JAVA_OPTS=-Xmx128m -Xms128m
# 租户标识,默认gitee
TENANT_CODE=gitee
# 网关token转换
GATEWAY_TOKEN_TRANSFER=false
# 环境配置
SPRING_PROFILES_ACTIVE=native
# consul配置
CONSUL_HOST=172.28.162.113
CONSUL_PORT=8500
# rabbitMq配置
RABBIT_HOST=172.28.162.113
RABBIT_PORT=5672
RABBITMQ_DEFAULT_USER=guest
RABBITMQ_DEFAULT_PASS=guest
# Redis配置
REDIS_HOST=172.28.162.113
REDIS_PORT=6379
# 数据库配置
MYSQL_HOST=172.28.158.98
MYSQL_PORT=3306
MYSQL_USERNAME=root
MYSQL_PASSWORD=123
# FDFS配置
#FDFS_HOST=fdfs
#FDFS_PORT=22122
# 配置中心的账号密码
CONFIG_SERVER_USERNAME=admin
CONFIG_SERVER_PASSWORD=11
# 附件服务器配置
#ATTACHMENT_HOST=http://attachment-service:8080
#ATTACHMENT_PORT=80
# 各服务host配置
CONFIG_SERVICE_HOST=172.28.162.113
AUTH_SERVICE_HOST=172.28.162.113
EXAM_SERVICE_HOST=172.28.162.113
GATEWAY_SERVICE_HOST=172.28.162.113
MONITOR_SERVICE_HOST=172.28.162.113
USER_SERVICE_HOST=172.28.162.113
#CONFIG_SERVICE_HOST=config-service
#AUTH_SERVICE_HOST=auth-service
#EXAM_SERVICE_HOST=exam-service
#GATEWAY_SERVICE_HOST=gateway-service
#MONITOR_SERVICE_HOST=monitor-serv