修改中间件相关配置

1. yml文件和配置合并
2. 添加.env文件
This commit is contained in:
曾伟 2021-09-03 13:11:34 +08:00
parent 1170e44b61
commit 80024f5214
11 changed files with 102 additions and 56 deletions

2
.gitignore vendored
View File

@ -87,3 +87,5 @@ lint/tmp/
/.idea/
target/
.env

View File

@ -6,9 +6,8 @@
1. **xxl-job 调度管理中心** :提供对分布式的任务集中监控、管理等功能
2. **xxl-job 执行器** :消息中心的业务逻辑实现,目前只实现「系统通知」功能,后续可以考虑 `email-executor`、`text-message-executor` 等实现
3. **GNS-Writer**:给 `Forge业务层` 调用的 API 网关,负责从业务逻辑层接受信息
4. **MQ**:独立运行的消息中间件服务
4. **middleware**:独立运行的中间件服务, 包括消息中间件、缓存中间件、DB
5. **GNS-Reader**:给 `Forge业务层` 调用的 API 网关,负责提供业务数据
6. **Redis**:独立运行的缓存中间件服务
### 一些约定:

View File

@ -1,13 +0,0 @@
version: '3'
services:
mysql:
restart: always
image: mysql:5.7.16
container_name: my_mysql
volumes:
- ${MYSQL_DIR}/data:/var/lib/mysql
- ./conf/my.cnf:/etc/my.cnf
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
ports:
- 3306:3306

View File

@ -2,8 +2,8 @@
# XXL-JOB v2.3.0
# Copyright (c) 2015-present, xuxueli.
CREATE database if NOT EXISTS `xxl_job` default character set utf8mb4 collate utf8mb4_unicode_ci;
use `xxl_job`;
CREATE database if NOT EXISTS `gitlink` default character set utf8mb4 collate utf8mb4_unicode_ci;
use `gitlink`;
SET NAMES utf8mb4;

40
middleware/.env.example Normal file
View File

@ -0,0 +1,40 @@
# Environment Variables for docker-compose
# Images config
MYSQL_VERSION=5.7.35
REDIS_VERSION=latest
KAFKA_VERSION=latest
# Containers config
MYSQL_CONTAINER_NAME=gitlink_mysql
REDIS_CONTAINER_NAME=gitlink_redis
# Ports config
MYSQL_LOCAL_PORT=3306 ##TODO: Change port number to your lcoal port
REDIS_LOCAL_PORT=6379 ##TODO: Change port number to your lcoal port
ZOOKEEPER_LOCAL_PORT=2181 ##TODO: Change port number to your lcoal port
KAFKA_LOCAL_PORT=9092 ##TODO: Change port number to your lcoal port
KAFKA_MANAGER_LOCAL_PORT=9003 ##TODO: Change port number to your lcoal port
# Hosts config
KAFKA_HOST=172.16.15.29
# Path config
MYSQL_WORK_PATH=D:\repos\mysql-docker ## TODO: Change path to your local file system path
MYSQL_DATA_PATH=D:\repos\mysql-docker ## TODO: Change path to your local file system path
REDIS_WORK_PATH=D:\repos\redis-docker ## TODO: Change path to your local file system path
# Mysql config
MYSQL_ROOT_PASSWORD=gitLiNk_827
MYSQL_USER=gitlink
MYSQL_PASSWORD=giTlinK0^827
MYSQL_DATABASE=gitlink
# Kafka config
KAFKA_LOG_RETENTION_HOURS=120
KAFKA_MESSAGE_MAX_BYTES=10000000
KAFKA_REPLICA_FETCH_MAX_BYTES=10000000
KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS=60000
KAFKA_NUM_PARTITIONS=3
KAFKA_DELETE_RETENTION_MS=1000

5
middleware/.md Normal file
View File

@ -0,0 +1,5 @@
# 中间件使用说明
将示例文件复制为 .env然后按需修改相关环境变量
```shell script
cp .env.example .env
```

52
middleware/services.yml Normal file
View File

@ -0,0 +1,52 @@
version: '3'
services:
db:
image: mysql:${MYSQL_VERSION}
container_name: ${MYSQL_CONTAINER_NAME}
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
volumes:
- ${MYSQL_DATA_PATH}/gitlink_data:/var/lib/mysql
- ${MYSQL_WORK_PATH}/sql/structure.sql:/docker-entrypoint-initdb.d/0000.sql
ports:
- ${MYSQL_LOCAL_PORT}:3306
redis:
image: redis:${REDIS_VERSION}
container_name: ${REDIS_CONTAINER_NAME}
volumes:
- ${REDIS_WORK_PATH}/data:/data
- ${REDIS_WORK_PATH}/redis.conf:/usr/local/etc/redis/redis.conf
- ${REDIS_WORK_PATH}/logs:/logs
ports:
- ${REDIS_LOCAL_PORT}:6379
zookeeper:
image: wurstmeister/zookeeper
ports:
- ${ZOOKEEPER_LOCAL_PORT}:2181
kafka:
image: wurstmeister/kafka
volumes:
- /etc/localtime:/etc/localtime
ports:
- ${KAFKA_LOCAL_PORT}:9092
environment:
KAFKA_ADVERTISED_HOST_NAME: ${KAFKA_HOST}
KAFKA_ZOOKEEPER_CONNECT: ${KAFKA_HOST}:${ZOOKEEPER_LOCAL_PORT}
KAFKA_ADVERTISED_PORT: ${KAFKA_LOCAL_PORT}
KAFKA_LOG_RETENTION_HOURS: ${KAFKA_LOG_RETENTION_HOURS}
KAFKA_MESSAGE_MAX_BYTES: ${KAFKA_MESSAGE_MAX_BYTES}
KAFKA_REPLICA_FETCH_MAX_BYTES: ${KAFKA_REPLICA_FETCH_MAX_BYTES}
KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS: ${KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS}
KAFKA_NUM_PARTITIONS: ${KAFKA_NUM_PARTITIONS}
KAFKA_DELETE_RETENTION_MS: ${KAFKA_DELETE_RETENTION_MS}
kafka-manager:
image: sheepkiller/kafka-manager
environment:
ZK_HOSTS: ${KAFKA_HOST}
ports:
- ${KAFKA_MANAGER_LOCAL_PORT}:9000

View File

@ -1,28 +0,0 @@
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
volumes:
- /etc/localtime:/etc/localtime
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 172.16.15.29
KAFKA_ZOOKEEPER_CONNECT: 172.16.15.29:2181
KAFKA_ADVERTISED_PORT: 9092
KAFKA_LOG_RETENTION_HOURS: 120
KAFKA_MESSAGE_MAX_BYTES: 10000000
KAFKA_REPLICA_FETCH_MAX_BYTES: 10000000
KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS: 60000
KAFKA_NUM_PARTITIONS: 3
KAFKA_DELETE_RETENTION_MS: 1000
kafka-manager:
image: sheepkiller/kafka-manager
environment:
ZK_HOSTS: 172.16.15.29
ports:
- "9003:9000"

View File

@ -1,11 +0,0 @@
version: '3'
services:
redis:
image: redis:latest
container_name: docker_redis
volumes:
- ${REDIS_DIR}/data:/data
- ./conf/redis.conf:/usr/local/etc/redis/redis.conf
- ${REDIS_DIR}/logs:/logs
ports:
- 6379:6379