diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..887e2e1 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +/docker-data +/logs +.idea \ No newline at end of file diff --git a/.gitignore b/.gitignore index 7083f96..8697620 100644 --- a/.gitignore +++ b/.gitignore @@ -92,3 +92,5 @@ target/ /docker-data/ /logs/ + +*/src/main/resources/application.yml \ No newline at end of file diff --git a/executor/src/main/resources/application.yml b/executor/src/main/resources/application.yml.example similarity index 72% rename from executor/src/main/resources/application.yml rename to executor/src/main/resources/application.yml.example index ffc92ec..148d332 100644 --- a/executor/src/main/resources/application.yml +++ b/executor/src/main/resources/application.yml.example @@ -7,12 +7,12 @@ logging: spring: kafka: producer: - bootstrap_servers: localhost:29092 + bootstrap_servers: localhost:29092,localhost:39092 client_id: gitlink_producer_01 retries: 5 batch_size: 16384 consumer: - bootstrap_servers: localhost:29092 + bootstrap_servers: localhost:29092,localhost:39092 client_id: gitlink_consumer group_id: group-gitlink-notification auto_offset_reset: earliest @@ -27,6 +27,18 @@ spring: # 提交模式 ack-mode: record + redis: + database: 0 + host: 127.0.0.1 + port: 6379 + password: + pool: + max-active: 200 + max-wait: -1 + max-idle: 10 + min-idle: 0 + timeout: 1000 + datasource: # 配置数据源类型 driver-class-name: com.mysql.jdbc.Driver diff --git a/middleware/.env.example b/middleware/.env.example index fa85465..32d6fca 100644 --- a/middleware/.env.example +++ b/middleware/.env.example @@ -5,29 +5,29 @@ MYSQL_VERSION=5.7.35 REDIS_VERSION=6.2.5 KAFKA_VERSION=latest -XXL_JOB_ADMIN_VERSION=2.3.0 +GITLINK_NOTIFICATION_SYS_VERSION=1.0.0 #============================================ Container config ============================================ MYSQL_CONTAINER_NAME=gitlink_mysql REDIS_CONTAINER_NAME=gitlink_redis -XXL_JOB_ADMIN_CONTAINER_NAME=gitlink_xxl_job_admin ZOOKEEPER_CONTAINER_NAME=gitlink_zookeeper KAFKA_CONTAINER_01_NAME=gitlink_kafka_01 KAFKA_CONTAINER_02_NAME=gitlink_kafka_02 +GNS_EXECUTOR_CONTAINER_NAME=gns_executor +GNS_READER_CONTAINER_NAME=gns_reader +GNS_WRITER_CONTAINER_NAME=gns_writer #============================================ Ports config ============================================ MYSQL_LOCAL_PORT=33306 REDIS_LOCAL_PORT=6379 ZOOKEEPER_LOCAL_PORT=22181 -XXL_JOB_ADMIN_LOCAL_PORT=9999 KAFKA_01_LOCAL_PORT=29092 KAFKA_02_LOCAL_PORT=39092 - -#============================================ Kafka Broker ID config ============================================ -KAFKA_01_BROKER_ID=1 -KAFKA_02_BROKER_ID=2 +GNS_EXECUTOR_LOCAL_PORT=8083 +GNS_WRITER_LOCAL_PORT=58082 +GNS_READER_LOCAL_PORT=58080 #============================================ Path config ============================================ # TODO: 需要预执行的 sql 脚本目录 diff --git a/middleware/executor.Dockerfile b/middleware/executor.Dockerfile new file mode 100644 index 0000000..3693731 --- /dev/null +++ b/middleware/executor.Dockerfile @@ -0,0 +1,13 @@ + +# Dockerfile for gns-writer.jar + +#FROM maven:3.8.2-openjdk-11-slim AS build +#COPY . /data +#WORKDIR /data +#RUN mvn clean package -DskipTests + +FROM openjdk:11.0.12-jre-slim +COPY executor/target/gns-executor-1.0.0.jar /data/gns-executor-app.jar +WORKDIR /data +EXPOSE 8083 +ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS gns-executor-app.jar"] \ No newline at end of file diff --git a/middleware/reader.Dockerfile b/middleware/reader.Dockerfile new file mode 100644 index 0000000..cecccc0 --- /dev/null +++ b/middleware/reader.Dockerfile @@ -0,0 +1,13 @@ + +# Dockerfile for gns-writer.jar + +#FROM maven:3.8.2-openjdk-11-slim AS build +#COPY . /data +#WORKDIR /data +#RUN mvn clean package -DskipTests + +FROM openjdk:11.0.12-jre-slim +COPY reader/target/gns-reader-1.0.0.jar /data/gns-reader-app.jar +WORKDIR /data +EXPOSE 8081 +ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS gns-reader-app.jar"] \ No newline at end of file diff --git a/middleware/services.yml b/middleware/services.yml index a598b7f..b52877f 100644 --- a/middleware/services.yml +++ b/middleware/services.yml @@ -92,6 +92,61 @@ services: - gitlink_network + gitlink-reader: + container_name: ${GNS_READER_CONTAINER_NAME} + hostname: gitlink_reader + image: gitlink/gns-reader:${GITLINK_NOTIFICATION_SYS_VERSION} + build: + context: ../ + dockerfile: middleware/reader.Dockerfile + networks: + - gitlink_network + volumes: + - ${DOCKER_DATA_PATH}/logs/:/data/logs/ + depends_on: + - kafka1 + - kafka2 + - redis + - mysql + ports: + - ${GNS_READER_LOCAL_PORT}:8081 + + gitlink-writer: + container_name: ${GNS_WRITER_CONTAINER_NAME} + hostname: gitlink_writer + image: gitlink/gns-writer:${GITLINK_NOTIFICATION_SYS_VERSION} + build: + context: ../ + dockerfile: middleware/writer.Dockerfile + networks: + - gitlink_network + volumes: + - ${DOCKER_DATA_PATH}/logs/:/data/logs/ + depends_on: + - kafka1 + - kafka2 + - redis + - mysql + ports: + - ${GNS_WRITER_LOCAL_PORT}:8082 + + gitlink-executor: + container_name: ${GNS_EXECUTOR_CONTAINER_NAME} + hostname: gitlink_executor + image: gitlink/gns-executor:${GITLINK_NOTIFICATION_SYS_VERSION} + build: + context: ../ + dockerfile: middleware/executor.Dockerfile + networks: + - gitlink_network + volumes: + - ${DOCKER_DATA_PATH}/logs/:/data/logs/ + depends_on: + - kafka1 + - kafka2 + ports: + - ${GNS_EXECUTOR_LOCAL_PORT}:8083 + networks: gitlink_network: driver: bridge diff --git a/middleware/start_docker_compose.sh b/middleware/start_docker_compose.sh index 59c6d96..1d22359 100755 --- a/middleware/start_docker_compose.sh +++ b/middleware/start_docker_compose.sh @@ -1 +1,2 @@ -docker-compose -f services.yml up +mvn -f ../pom.xml clean package -DskipTests +docker-compose -f services.yml up --build --force-recreate \ No newline at end of file diff --git a/middleware/writer.Dockerfile b/middleware/writer.Dockerfile new file mode 100644 index 0000000..e4578a9 --- /dev/null +++ b/middleware/writer.Dockerfile @@ -0,0 +1,13 @@ + +# Dockerfile for gns-writer.jar + +#FROM maven:3.8.2-openjdk-11-slim AS build +#COPY . /data +#WORKDIR /data +#RUN mvn clean package -DskipTests + +FROM openjdk:11.0.12-jre-slim +COPY writer/target/gns-writer-1.0.0.jar /data/gns-writer-app.jar +WORKDIR /data +EXPOSE 8082 +ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS gns-writer-app.jar"] \ No newline at end of file diff --git a/reader/src/main/resources/application.yml b/reader/src/main/resources/application.yml.example similarity index 91% rename from reader/src/main/resources/application.yml rename to reader/src/main/resources/application.yml.example index df4d960..afc9157 100644 --- a/reader/src/main/resources/application.yml +++ b/reader/src/main/resources/application.yml.example @@ -29,7 +29,7 @@ spring: kafka: producer: - bootstrap_servers: localhost:29092 + bootstrap_servers: localhost:29092,localhost:39092 client_id: gitlink_producer_01 retries: 5 batch_size: 16384 diff --git a/writer/src/main/resources/application.yml b/writer/src/main/resources/application.yml.example similarity index 87% rename from writer/src/main/resources/application.yml rename to writer/src/main/resources/application.yml.example index cee9188..7f466d9 100644 --- a/writer/src/main/resources/application.yml +++ b/writer/src/main/resources/application.yml.example @@ -7,7 +7,7 @@ logging: spring: kafka: producer: - bootstrap_servers: localhost:29092 + bootstrap_servers: localhost:29092,localhost:39092 client_id: gitlink_producer_01 retries: 5 batch_size: 16384