refactor(config): 重构配置文件结构为环境分离模式
将consul和traefik的配置文件按dev和prod环境分离 删除旧的单一配置文件,新增环境特定配置 更新docker-compose.yml以支持环境配置切换
This commit is contained in:
parent
dc04f20856
commit
611a26a59a
9
consul/config/prod/consul.json
Normal file
9
consul/config/prod/consul.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"acl": {
|
||||
"default_policy": "deny",
|
||||
"enabled": true
|
||||
},
|
||||
"ui_config": {
|
||||
"enabled": false
|
||||
}
|
||||
}
|
||||
18
consul/config/prod/data-service.json
Normal file
18
consul/config/prod/data-service.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"service": {
|
||||
"address": "data-service",
|
||||
"check": {
|
||||
"http": "http://ari-data-service:8000/api/public/stock_bid_ask_em?symbol=000001",
|
||||
"interval": "10s",
|
||||
"timeout": "5s"
|
||||
},
|
||||
"id": "data-service-1",
|
||||
"tags": [
|
||||
"traefik.enable=true",
|
||||
"traefik.http.routers.data-service.rule=Host(\"data.aristockai.com\")",
|
||||
"traefik.http.routers.data-service.entrypoints=web"
|
||||
],
|
||||
"name": "data-service",
|
||||
"port": 8000
|
||||
}
|
||||
}
|
||||
18
consul/config/prod/emotion-service.json
Normal file
18
consul/config/prod/emotion-service.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"service": {
|
||||
"address": "emotion-service",
|
||||
"check": {
|
||||
"http": "http://emotion-service:8002/health",
|
||||
"interval": "10s",
|
||||
"timeout": "5s"
|
||||
},
|
||||
"id": "emotion-service-1",
|
||||
"tags": [
|
||||
"traefik.enable=true",
|
||||
"traefik.http.routers.emotion-service.rule=Host(\"emotion.aristockai.com\")",
|
||||
"traefik.http.routers.emotion-service.entrypoints=web"
|
||||
],
|
||||
"name": "emotion-service",
|
||||
"port": 8002
|
||||
}
|
||||
}
|
||||
18
consul/config/prod/frontend.json
Normal file
18
consul/config/prod/frontend.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"service": {
|
||||
"address": "frontend",
|
||||
"check": {
|
||||
"http": "http://frontend:80/",
|
||||
"interval": "10s",
|
||||
"timeout": "5s"
|
||||
},
|
||||
"id": "frontend-1",
|
||||
"tags": [
|
||||
"traefik.enable=true",
|
||||
"traefik.http.routers.frontend.rule=Host(\"aristockai.com\") || Host(\"www.aristockai.com\")",
|
||||
"traefik.http.routers.frontend.entrypoints=web"
|
||||
],
|
||||
"name": "frontend",
|
||||
"port": 80
|
||||
}
|
||||
}
|
||||
18
consul/config/prod/quant-service.json
Normal file
18
consul/config/prod/quant-service.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"service": {
|
||||
"address": "quant-service",
|
||||
"check": {
|
||||
"http": "http://quant-service:8001/health",
|
||||
"interval": "10s",
|
||||
"timeout": "5s"
|
||||
},
|
||||
"id": "quant-service-1",
|
||||
"tags": [
|
||||
"traefik.enable=true",
|
||||
"traefik.http.routers.quant-service.rule=Host(\"quant.aristockai.com\")",
|
||||
"traefik.http.routers.quant-service.entrypoints=web"
|
||||
],
|
||||
"name": "quant-service",
|
||||
"port": 8001
|
||||
}
|
||||
}
|
||||
18
consul/config/prod/recommend-service.json
Normal file
18
consul/config/prod/recommend-service.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"service": {
|
||||
"address": "recommend-service",
|
||||
"check": {
|
||||
"http": "http://recommend-service:8003/health",
|
||||
"interval": "10s",
|
||||
"timeout": "5s"
|
||||
},
|
||||
"id": "recommend-service-1",
|
||||
"tags": [
|
||||
"traefik.enable=true",
|
||||
"traefik.http.routers.recommend-service.rule=Host(\"recommend.aristockai.com\")",
|
||||
"traefik.http.routers.recommend-service.entrypoints=web"
|
||||
],
|
||||
"name": "recommend-service",
|
||||
"port": 8003
|
||||
}
|
||||
}
|
||||
18
consul/config/prod/user-service.json
Normal file
18
consul/config/prod/user-service.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"service": {
|
||||
"address": "user-service",
|
||||
"check": {
|
||||
"http": "http://user-service:8004/health",
|
||||
"interval": "10s",
|
||||
"timeout": "5s"
|
||||
},
|
||||
"id": "user-service-1",
|
||||
"tags": [
|
||||
"traefik.enable=true",
|
||||
"traefik.http.routers.user-service.rule=Host(\"user.aristockai.com\")",
|
||||
"traefik.http.routers.user-service.entrypoints=web"
|
||||
],
|
||||
"name": "user-service",
|
||||
"port": 8004
|
||||
}
|
||||
}
|
||||
20
consul/config/prod/whoami.json
Normal file
20
consul/config/prod/whoami.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"service": {
|
||||
"name": "whoami",
|
||||
"tags": [
|
||||
"traefik.enable=true",
|
||||
"traefik.http.routers.whoami.entrypoints=web",
|
||||
"traefik.http.routers.whoami.rule=Path(\"/whoami\")",
|
||||
"traefik.http.services.whoami.loadbalancer.server.port=80"
|
||||
],
|
||||
"address": "whoami",
|
||||
"port": 80,
|
||||
"checks": [
|
||||
{
|
||||
"http": "http://whoami:80/",
|
||||
"interval": "10s",
|
||||
"timeout": "2s"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -13,8 +13,8 @@ services:
|
||||
- "8500:8500" # Consul Web UI
|
||||
- "8600:8600/udp" # DNS服务
|
||||
volumes:
|
||||
- ./consul/config:/consul/config
|
||||
command: "consul agent -dev -config-dir=/consul/config -client=0.0.0.0"
|
||||
- ./consul/config/${ENV_CONFIG_DIR}:/consul/config
|
||||
command: "consul agent ${CONSUL_DEV_MODE} -config-dir=/consul/config -client=0.0.0.0"
|
||||
networks:
|
||||
- microservice-network
|
||||
healthcheck:
|
||||
@ -33,7 +33,7 @@ services:
|
||||
- "8080:8080" # Traefik dashboard
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ./traefik/traefik.yml:/etc/traefik/traefik.yml
|
||||
- ./traefik/config/${TRAEFIK_CONFIG_DIR}/traefik.yml:/etc/traefik/traefik.yml
|
||||
networks:
|
||||
- microservice-network
|
||||
|
||||
@ -42,7 +42,7 @@ services:
|
||||
container_name: ari-data-service
|
||||
restart: always
|
||||
ports:
|
||||
- "8000:8000" # 错误:应为服务端口注释而非Traefik dashboard
|
||||
- "8000:8000"
|
||||
networks:
|
||||
- microservice-network
|
||||
environment:
|
||||
|
||||
21
traefik/config/prod/traefik.yml
Normal file
21
traefik/config/prod/traefik.yml
Normal file
@ -0,0 +1,21 @@
|
||||
entryPoints:
|
||||
web:
|
||||
address: ":80"
|
||||
http:
|
||||
redirections:
|
||||
entryPoint:
|
||||
to: websecure
|
||||
scheme: https
|
||||
websecure:
|
||||
address: ":443"
|
||||
|
||||
|
||||
providers:
|
||||
consulCatalog:
|
||||
endpoint:
|
||||
address: "ari-consul:8500"
|
||||
exposedByDefault: false
|
||||
|
||||
api:
|
||||
dashboard: true
|
||||
insecure: false
|
||||
Loading…
Reference in New Issue
Block a user