remove Kafka

This commit is contained in:
nheron 2023-04-12 09:20:09 +02:00
commit e460b26abb
15 changed files with 543 additions and 582 deletions

401
docker-compose-legacy.yaml Normal file
View file

@ -0,0 +1,401 @@
version: "3"
networks:
drools-network-dev:
ipam:
config:
- subnet: 172.27.1.0/24
services:
kie-wb:
image: kie-wb
container_name: "businessCentral"
volumes:
- gitdata:/home/niodir
- lucenedata:/home/lucene
hostname: kie-wb.pymma
environment:
PYMMA_OPTS: " -DconnectionString=mongodb://mongodb:27017 -Dname=businessProxyDB "
links:
- businessProxyDB:mongodb
depends_on:
- businessProxyDB
networks:
drools-network-dev:
ipv4_address: 172.27.1.5
ports:
- 8080:8080
- 8001:8001
restart: always
admin-console:
image: runtime-admin-console
container_name: "admin-console"
environment:
PYMMA_OPTS: " -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
hostname: admin.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.6
ports:
- 8200:8200
links:
- kie-wb:kie-wb
- businessProxyDB:mongodb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
restart: always
swimmingpool-wb:
image: swimmingpool-web-ui
container_name: "swimmingpool-web-ui"
environment:
PYMMA_OPTS: " "
hostname: swimmingpool-wb.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.15
ports:
- 12099:12099
links:
- runtime-reverse-proxy:reverse-proxy
depends_on:
- runtime-reverse-proxy
restart: always
#-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=y
runtime-proxy-1:
image: runtime-proxy
container_name: "runtime-proxy-1"
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server1 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.22
ports:
- 8090
- 9080
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
restart: always
runtime-proxy-2:
image: runtime-proxy
container_name: "runtime-proxy-2"
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server2 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.32
ports:
- 8090
- 9080
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
restart: always
runtime-proxy-3:
image: runtime-proxy
container_name: "runtime-proxy-3"
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server3 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.42
ports:
- 8090
- 9080
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
restart: always
runtime-proxy-4:
image: runtime-proxy
container_name: "runtime-proxy-4"
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server4 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.52
ports:
- 8090
- 9080
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
restart: always
runtime-proxy-5:
image: runtime-proxy
container_name: "runtime-proxy-5"
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server5 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.62
ports:
- 8090
- 9080
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
restart: always
runtime-indexer:
image: runtime-indexer
container_name: "runtime-indexer"
hostname: indexer.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.23
links:
- businessProxyDB:mongodb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
restart: always
runtime-reverse-proxy:
image: runtime-reverse-proxy
container_name: "runtime-reverse-proxy"
environment:
PYMMA_OPTS: " -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
hostname: reverse-proxy.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.25
links:
- businessProxyDB:mongodb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
ports:
- 9500:9500
restart: always
postgreskie:
deploy:
resources:
limits:
memory: 1024M
image: postgres:13.4-alpine
environment:
- POSTGRES_DB=chti-data
- POSTGRES_USER=database_admin
- POSTGRES_PASSWORD=
- POSTGRES_HOST_AUTH_METHOD=trust
- MAX_CONNECTIONS=500
- MAX_WAL_SENDERS=100
volumes:
- pgsql-data:/var/lib/postgresql/data
- ./backend/docker/pgsql_scripts:/docker-entrypoint-initdb.d
ports:
- 12432:5432
zoo1:
image: zookeeper:3.4.9
hostname: zoo1
networks:
drools-network-dev:
ipv4_address: 172.27.1.100
ports:
- "2181:2181"
environment:
ZOO_MY_ID: 1
ZOO_PORT: 2181
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
volumes:
- zoo1_data:/data
- zoo1_data_datalog:/datalog
zoo2:
image: zookeeper:3.4.9
hostname: zoo2
networks:
drools-network-dev:
ipv4_address: 172.27.1.101
ports:
- "2182:2182"
environment:
ZOO_MY_ID: 2
ZOO_PORT: 2182
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
volumes:
- zoo2_data:/data
- zoo2_data_datalog:/datalog
zoo3:
image: zookeeper:3.4.9
hostname: zoo3
networks:
drools-network-dev:
ipv4_address: 172.27.1.102
ports:
- "2183:2183"
environment:
ZOO_MY_ID: 3
ZOO_PORT: 2183
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
volumes:
- zoo3_data:/data
- zoo3_data_datalog:/datalog
kafka1:
image: confluentinc/cp-kafka:5.5.0
hostname: kafka1.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.103
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka1:19092,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2182,zoo3:2183"
KAFKA_BROKER_ID: 1
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
KAFKA_FETCH_MAX_BYTES: 5048576
KAFKA_REPLICA_FETCH_MAX_BYTES: 5048576
KAFKA_MESSAGE_MAX_BYTES: 5048576
KAFKA_PRODUCER_MAX_REQUEST_SIZE: 5048576
CONNECT_PRODUCER_MAX_REQUEST_SIZE: 5048576
volumes:
- kafka1_data:/var/lib/kafka/data
depends_on:
- zoo1
- zoo2
- zoo3
kafka2:
image: confluentinc/cp-kafka:5.5.0
hostname: kafka2.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.104
ports:
- "9093:9093"
environment:
KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka2:19093,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9093
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2182,zoo3:2183"
KAFKA_BROKER_ID: 2
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
KAFKA_FETCH_MAX_BYTES: 5048576
KAFKA_REPLICA_FETCH_MAX_BYTES: 5048576
KAFKA_MESSAGE_MAX_BYTES: 5048576
KAFKA_PRODUCER_MAX_REQUEST_SIZE: 5048576
CONNECT_PRODUCER_MAX_REQUEST_SIZE: 5048576
volumes:
- kafka2_data:/var/lib/kafka/data
depends_on:
- zoo1
- zoo2
- zoo3
kafka3:
image: confluentinc/cp-kafka:5.5.0
hostname: kafka3.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.105
ports:
- "9094:9094"
environment:
KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka3:19094,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9094
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2182,zoo3:2183"
KAFKA_BROKER_ID: 3
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
KAFKA_FETCH_MAX_BYTES: 5048576
KAFKA_REPLICA_FETCH_MAX_BYTES: 5048576
KAFKA_MESSAGE_MAX_BYTES: 5048576
KAFKA_PRODUCER_MAX_REQUEST_SIZE: 5048576
CONNECT_PRODUCER_MAX_REQUEST_SIZE: 5048576
volumes:
- kafka3_data:/var/lib/kafka/data
depends_on:
- zoo1
- zoo2
- zoo3
volumes:
pgsql-data:
gitdata:
lucenedata:
kieserverdir:
zoo1_data:
zoo2_data:
zoo3_data:
zoo1_data_datalog:
zoo2_data_datalog:
zoo3_data_datalog:
kafka1_data:
kafka2_data:
kafka3_data:

View file

@ -1,414 +1,42 @@
version: "3"
networks:
drools-network-dev:
ipam:
config:
- subnet: 172.27.1.0/24
services:
kie-wb:
image: kie-wb
container_name: "businessCentral"
volumes:
- gitdata:/home/niodir
- lucenedata:/home/lucene
hostname: kie-wb.pymma
postgres-kie:
deploy:
resources:
limits:
memory: 1024M
image: postgres:13.4-alpine
environment:
PYMMA_OPTS: " -DconnectionString=mongodb://mongodb:27017 -Dname=businessProxyDB "
links:
- businessProxyDB:mongodb
depends_on:
- businessProxyDB
networks:
drools-network-dev:
ipv4_address: 172.27.1.5
- POSTGRES_DB=chti-data
- POSTGRES_USER=database_admin
- POSTGRES_PASSWORD=
- POSTGRES_HOST_AUTH_METHOD=trust
- MAX_CONNECTIONS=500
- MAX_WAL_SENDERS=100
volumes:
- pgsql-data:/var/lib/postgresql/data
- ./docker/database/:/docker-entrypoint-initdb.d
ports:
- 8080:8080
- 8001:8001
- 12432:5432
activemq-server:
image: webcenter/activemq:5.14.3
volumes:
- activemqdata:/data
ports:
- 10162:8161
- 1617:61616
restart: always
admin-console:
image: runtime-admin-console
container_name: "admin-console"
environment:
PYMMA_OPTS: " -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
hostname: admin.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.6
ports:
- 8200:8200
links:
- kie-wb:kie-wb
- businessProxyDB:mongodb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
restart: always
swimmingpool-wb:
image: swimmingpool-web-ui
container_name: "swimmingpool-web-ui"
environment:
PYMMA_OPTS: " "
hostname: swimmingpool-wb.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.15
ports:
- 12099:12099
links:
- runtime-reverse-proxy:reverse-proxy
depends_on:
- runtime-reverse-proxy
restart: always
#-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=y
runtime-proxy-1:
image: runtime-proxy
container_name: "runtime-proxy-1"
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server1 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.22
ports:
- 8090
- 9080
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
restart: always
runtime-proxy-2:
image: runtime-proxy
container_name: "runtime-proxy-2"
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server2 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.32
ports:
- 8090
- 9080
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
restart: always
runtime-proxy-3:
image: runtime-proxy
container_name: "runtime-proxy-3"
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server3 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.42
ports:
- 8090
- 9080
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
restart: always
runtime-proxy-4:
image: runtime-proxy
container_name: "runtime-proxy-4"
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server4 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.52
ports:
- 8090
- 9080
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
restart: always
runtime-proxy-5:
image: runtime-proxy
container_name: "runtime-proxy-5"
volumes:
- kieserverdir:/niodir-kieserver
environment:
PYMMA_OPTS: "-Dorg.kie.server.id=server5 -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
networks:
drools-network-dev:
ipv4_address: 172.27.1.62
ports:
- 8090
- 9080
links:
- businessProxyDB:mongodb
- kie-wb:kie-wb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
- kie-wb
restart: always
runtime-indexer:
image: runtime-indexer
container_name: "runtime-indexer"
hostname: indexer.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.23
links:
- businessProxyDB:mongodb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
restart: always
runtime-reverse-proxy:
image: runtime-reverse-proxy
container_name: "runtime-reverse-proxy"
environment:
PYMMA_OPTS: " -Dkafka.bootstrapAddress=kafka1:19092,kafka2:19093,kafka3:19094 "
hostname: reverse-proxy.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.25
links:
- businessProxyDB:mongodb
- kafka1:kafka1
- kafka2:kafka2
- kafka3:kafka3
depends_on:
- businessProxyDB
ports:
- 9500:9500
restart: always
businessProxyDB:
image: mongo
container_name: "businessProxyDB"
volumes:
- mongodb:/data/db
- mongodb_config:/data/configdb
hostname: mongo.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.3
ports:
- 28017:27017
command: mongod
restart: always
kafka_manager:
image: hlebalbau/kafka-manager:stable
ports:
- "9000:9000"
hostname: kafka_manager.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.89
links:
- zoo1:zoo1
- zoo2:zoo2
- zoo3:zoo3
environment:
ZK_HOSTS: "zoo1:2181, zoo2:2182, zoo3:2183"
KAFKA_MANAGER_AUTH_ENABLED: "true"
KAFKA_MANAGER_USERNAME: admin
KAFKA_MANAGER_PASSWORD: adminpymma
command: -Dpidfile.path=/dev/null
zoo1:
image: zookeeper:3.4.9
hostname: zoo1
networks:
drools-network-dev:
ipv4_address: 172.27.1.100
ports:
- "2181:2181"
environment:
ZOO_MY_ID: 1
ZOO_PORT: 2181
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
volumes:
- zoo1_data:/data
- zoo1_data_datalog:/datalog
zoo2:
image: zookeeper:3.4.9
hostname: zoo2
networks:
drools-network-dev:
ipv4_address: 172.27.1.101
ports:
- "2182:2182"
environment:
ZOO_MY_ID: 2
ZOO_PORT: 2182
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
volumes:
- zoo2_data:/data
- zoo2_data_datalog:/datalog
zoo3:
image: zookeeper:3.4.9
hostname: zoo3
networks:
drools-network-dev:
ipv4_address: 172.27.1.102
ports:
- "2183:2183"
environment:
ZOO_MY_ID: 3
ZOO_PORT: 2183
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
volumes:
- zoo3_data:/data
- zoo3_data_datalog:/datalog
kafka1:
image: confluentinc/cp-kafka:5.5.0
hostname: kafka1.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.103
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka1:19092,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2182,zoo3:2183"
KAFKA_BROKER_ID: 1
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
KAFKA_FETCH_MAX_BYTES: 5048576
KAFKA_REPLICA_FETCH_MAX_BYTES: 5048576
KAFKA_MESSAGE_MAX_BYTES: 5048576
KAFKA_PRODUCER_MAX_REQUEST_SIZE: 5048576
CONNECT_PRODUCER_MAX_REQUEST_SIZE: 5048576
volumes:
- kafka1_data:/var/lib/kafka/data
depends_on:
- zoo1
- zoo2
- zoo3
kafka2:
image: confluentinc/cp-kafka:5.5.0
hostname: kafka2.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.104
ports:
- "9093:9093"
environment:
KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka2:19093,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9093
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2182,zoo3:2183"
KAFKA_BROKER_ID: 2
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
KAFKA_FETCH_MAX_BYTES: 5048576
KAFKA_REPLICA_FETCH_MAX_BYTES: 5048576
KAFKA_MESSAGE_MAX_BYTES: 5048576
KAFKA_PRODUCER_MAX_REQUEST_SIZE: 5048576
CONNECT_PRODUCER_MAX_REQUEST_SIZE: 5048576
volumes:
- kafka2_data:/var/lib/kafka/data
depends_on:
- zoo1
- zoo2
- zoo3
kafka3:
image: confluentinc/cp-kafka:5.5.0
hostname: kafka3.pymma
networks:
drools-network-dev:
ipv4_address: 172.27.1.105
ports:
- "9094:9094"
environment:
KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka3:19094,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9094
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181,zoo2:2182,zoo3:2183"
KAFKA_BROKER_ID: 3
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
KAFKA_FETCH_MAX_BYTES: 5048576
KAFKA_REPLICA_FETCH_MAX_BYTES: 5048576
KAFKA_MESSAGE_MAX_BYTES: 5048576
KAFKA_PRODUCER_MAX_REQUEST_SIZE: 5048576
CONNECT_PRODUCER_MAX_REQUEST_SIZE: 5048576
volumes:
- kafka3_data:/var/lib/kafka/data
depends_on:
- zoo1
- zoo2
- zoo3
volumes:
mongodb:
mongodb_config:
gitdata:
lucenedata:
kieserverdir:
zoo1_data:
zoo2_data:
zoo3_data:
zoo1_data_datalog:
zoo2_data_datalog:
zoo3_data_datalog:
kafka1_data:
kafka2_data:
kafka3_data:
pgsql-data:
activemqdata:

View file

@ -0,0 +1,3 @@
CREATE USER kiedev WITH PASSWORD 'kiedev';
create database kiedev ;
GRANT ALL PRIVILEGES ON DATABASE kiedev to kiedev;

View file

@ -65,11 +65,7 @@
<artifactId>poi</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>${kafka.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
@ -94,6 +90,20 @@
<artifactId>drools-framework-kie-wb-rest-pojo</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-client</artifactId>
<version>${activemq.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-broker</artifactId>
<version>${activemq.version}</version>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-workbench-models-guided-template</artifactId>

View file

@ -2,18 +2,7 @@ package org.chtijbug.drools.console;
import com.vaadin.flow.spring.SpringServlet;
import org.apache.kafka.clients.CommonClientConfigs;
import org.apache.kafka.clients.admin.AdminClientConfig;
import org.apache.kafka.clients.admin.NewTopic;
import org.apache.kafka.clients.consumer.ConsumerConfig;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.common.config.SslConfigs;
import org.apache.kafka.common.security.auth.SecurityProtocol;
import org.apache.kafka.common.serialization.StringDeserializer;
import org.apache.kafka.common.serialization.StringSerializer;
import org.chtijbug.drools.KieContainerResponse;
import org.chtijbug.drools.ReverseProxyUpdate;
import org.chtijbug.drools.common.KafkaTopicConstants;
import org.apache.activemq.ActiveMQXAConnectionFactory;
import org.chtijbug.drools.console.middle.DababaseContentUpdate;
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
import org.chtijbug.drools.console.service.util.ApplicationContextProvider;
@ -35,12 +24,9 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.event.EventListener;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.kafka.annotation.EnableKafka;
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
import org.springframework.kafka.core.*;
import org.springframework.kafka.support.serializer.JsonDeserializer;
import org.springframework.kafka.support.serializer.JsonSerializer;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.util.unit.DataSize;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@ -51,48 +37,25 @@ import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import javax.servlet.MultipartConfigElement;
import java.util.HashMap;
import java.util.Map;
@Configuration
@SpringBootApplication
@EnableJpaRepositories("org.chtijbug.drools.proxy.persistence.repository")
@EnableKafka
@PropertySource("classpath:application.properties")
@EnableSwagger2
@EnableScheduling
@EnableTransactionManagement
public class DroolsSpringBootConsoleApplication extends SpringBootServletInitializer {
@Value("${kie-wb.baseurl}")
private String kiewbUrl;
@Value(value = "${kafka.bootstrapAddress}")
private String bootstrapAddress;
@Value("${almady.jms.url}")
private String jmsUrl;
private JmsTemplate jmsTemplate;
private ActiveMQXAConnectionFactory connectionFactory;
@Value("${pymma.kafka.activateSsl:false}")
private boolean activateSsl;
@Value("${pymma.kafka.sslTruststoreLocation:}")
private String sslTruststoreLocation;
@Value("${pymma.kafka.sslTruststorePassword:}")
private String sslTruststorePassword;
@Value("${pymma.kafka.sslKeyPassword:}")
private String sslKeyPassword;
@Value("${pymma.kafka.sslKeystorePassword:}")
private String sslKeystorePassword;
@Value("${pymma.kafka.sslKeystoreLocation:}")
private String sslKeystoreLocation;
@Value("${pymma.kafka.sslKeystoreType:}")
private String sslKeystoreType;
@Autowired
private DababaseContentUpdate dababaseContentUpdate;
@ -148,75 +111,6 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
}
@Bean
public KafkaAdmin kafkaAdmin() {
Map<String, Object> configs = new HashMap<>();
configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress);
if (activateSsl) {
configs.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, SecurityProtocol.SSL.name);
configs.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, this.sslTruststoreLocation);
configs.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, this.sslTruststorePassword);
configs.put(SslConfigs.SSL_KEY_PASSWORD_CONFIG, this.sslKeyPassword);
configs.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, this.sslKeystorePassword);
configs.put(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, this.sslKeystoreLocation);
configs.put(SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, this.sslKeystoreType);
}
return new KafkaAdmin(configs);
}
@Bean
public NewTopic loggingTopic() {
return new NewTopic(KafkaTopicConstants.REVERSE_PROXY, 1, (short) 1);
}
@Bean
public ProducerFactory<String, ReverseProxyUpdate> producerFactory() {
Map<String, Object> configProps = new HashMap<>();
configProps.put(
ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,
bootstrapAddress);
configProps.put(
ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
StringSerializer.class);
configProps.put(
ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,
JsonSerializer.class);
if (activateSsl) {
configProps.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, SecurityProtocol.SSL.name);
configProps.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, this.sslTruststoreLocation);
configProps.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, this.sslTruststorePassword);
configProps.put(SslConfigs.SSL_KEY_PASSWORD_CONFIG, this.sslKeyPassword);
configProps.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, this.sslKeystorePassword);
configProps.put(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, this.sslKeystoreLocation);
configProps.put(SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, this.sslKeystoreType);
}
return new DefaultKafkaProducerFactory<>(configProps);
}
@Bean
public KafkaTemplate<String, ReverseProxyUpdate> kafkaTemplate() {
return new KafkaTemplate<>(producerFactory());
}
public ConsumerFactory<String, KieContainerResponse> greetingConsumerFactory() {
Map<String, Object> props = new HashMap<>();
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress);
props.put(ConsumerConfig.GROUP_ID_CONFIG,"Console");
return new DefaultKafkaConsumerFactory<>(props, new StringDeserializer(), new JsonDeserializer<>(KieContainerResponse.class));
}
@Bean
public ConcurrentKafkaListenerContainerFactory<String, KieContainerResponse>
ruleKafkaListenerKieContainerUpdateFactory() {
ConcurrentKafkaListenerContainerFactory<String, KieContainerResponse> factory =
new ConcurrentKafkaListenerContainerFactory<>();
factory.setConsumerFactory(greetingConsumerFactory());
return factory;
}
@Bean
public ServletRegistrationBean<SpringServlet> springServlet(ApplicationContext context) {
@ -228,6 +122,15 @@ public class DroolsSpringBootConsoleApplication extends SpringBootServletInitial
SpringApplication.run(DroolsSpringBootConsoleApplication.class, args);
}
@Bean(name = "jmsTemplate")
JmsTemplate createJmsTemplate() {
connectionFactory = new ActiveMQXAConnectionFactory(jmsUrl);
connectionFactory.setTrustAllPackages(true);
connectionFactory.setAlwaysSyncSend(true);
connectionFactory.setProducerWindowSize(1024000);
jmsTemplate = new JmsTemplate(connectionFactory);
return jmsTemplate;
}
@EventListener(ApplicationReadyEvent.class)
public void initPlatform(){

View file

@ -8,6 +8,7 @@ import org.chtijbug.drools.console.service.model.UserConnected;
import org.chtijbug.drools.console.service.model.kie.JobStatus;
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
import org.chtijbug.drools.console.service.util.AppContext;
import org.chtijbug.drools.jms.ReverseProxyMessageCreator;
import org.chtijbug.drools.proxy.persistence.json.KieProject;
import org.chtijbug.drools.proxy.persistence.model.*;
import org.chtijbug.drools.proxy.persistence.repository.*;
@ -16,7 +17,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.DependsOn;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.stereotype.Service;
import java.util.*;
@ -63,7 +64,7 @@ public class ProjectPersistService {
private KieWorkbenchRepository workbenchRepository;
@Autowired
private KafkaTemplate<String, ReverseProxyUpdate> kafkaTemplateProxyUpdate;
private JmsTemplate jmsTemplate;
@Autowired
private UserGroupsRepository userGroupsRepository;
@ -238,7 +239,8 @@ public class ProjectPersistService {
reverseProxyUpdate.getServerNames().add(hostName);
}
projectRepository.save(projectPersist);
kafkaTemplateProxyUpdate.send(KafkaTopicConstants.REVERSE_PROXY, reverseProxyUpdate);
jmsTemplate.send(KafkaTopicConstants.REVERSE_PROXY, new ReverseProxyMessageCreator(reverseProxyUpdate));
return true;
}

View file

@ -10,10 +10,14 @@ adminConsole.tmpdir=/tmp
org.kie.server.controller=${PYMMA_KIE_CONTROLLER:http://localhost:18080/kie-wb/rest}
org.kie.server.location=${PYMMA_KIE_LOCATION:http://localhost:8200/api/server}
org.kie.server.id=${PYMMA_KIE_SERVER_ID:pymmaConsole2}
spring.data.mongodb.database=${PYMMA_MONGO_DATABASE:businessProxyDB}
spring.data.mongodb.host=${PYMMA_MONGO_HOST:localhost:28017}
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=${PYMMA_DATABASE_URL:jdbc:postgresql://localhost:12432/kiedev}
almady.jms.url=tcp://localhost:1617
spring.datasource.username=${PYMMA_DATABASE_USER:kiedev}
spring.datasource.password=${PYMMA_DATABASE_PASSWORD:kiedev}
spring.servlet.multipart.enabled=false
kafka.bootstrapAddress=${PYMMA_KAFKA_BOOTSTRAP:localhost:9092,localhost:9093,localhost:9094}

View file

@ -100,5 +100,15 @@
<version>1.3.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>2.0.1</version>
</dependency>
</dependencies>
</project>

View file

@ -3,7 +3,7 @@ package org.chtijbug.drools;
import java.util.ArrayList;
import java.util.List;
public class ReverseProxyUpdate {
public class ReverseProxyUpdate implements java.io.Serializable{
private String path;
private String tokenUUID;

View file

@ -0,0 +1,26 @@
package org.chtijbug.drools.jms;
import org.chtijbug.drools.ReverseProxyUpdate;
import org.springframework.jms.core.MessageCreator;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.ObjectMessage;
import javax.jms.Session;
public class ReverseProxyMessageCreator implements MessageCreator {
private ReverseProxyUpdate reverseProxyUpdate;
public ReverseProxyMessageCreator(ReverseProxyUpdate reverseProxyUpdate) {
this.reverseProxyUpdate = reverseProxyUpdate;
}
@Override
public Message createMessage(Session session) throws JMSException {
ObjectMessage objectMessage = session.createObjectMessage();
objectMessage.setObject(reverseProxyUpdate);
return objectMessage;
}
}

View file

@ -27,8 +27,18 @@
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-client</artifactId>
<version>${activemq.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-broker</artifactId>
<version>${activemq.version}</version>
</dependency>
<dependency>

View file

@ -16,6 +16,7 @@
*/
package org.chtijbug.drools.indexer;
import org.apache.activemq.ActiveMQXAConnectionFactory;
import org.apache.kafka.clients.CommonClientConfigs;
import org.apache.kafka.clients.consumer.ConsumerConfig;
import org.apache.kafka.common.config.SslConfigs;
@ -28,6 +29,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.kafka.annotation.EnableKafka;
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
import org.springframework.kafka.core.ConsumerFactory;
@ -41,65 +43,24 @@ import java.util.Map;
@SpringBootApplication
@Configuration
@EnableJpaRepositories(basePackages = "org.chtijbug.drools.proxy.persistence.repository")
@EnableKafka
public class DroolsBusinessIndexerServer {
public final static String LOGING_TOPIC ="logging";
@Value(value = "${kafka.bootstrapAddress}")
private String bootstrapAddress;
@Value("${pymma.kafka.activateSsl:false}")
private boolean activateSsl;
@Value("${almady.jms.url}")
private String jmsUrl;
private JmsTemplate jmsTemplate;
private ActiveMQXAConnectionFactory connectionFactory;
@Value("${pymma.kafka.sslTruststoreLocation:}")
private String sslTruststoreLocation;
@Value("${pymma.kafka.sslTruststorePassword:}")
private String sslTruststorePassword;
@Value("${pymma.kafka.sslKeyPassword:}")
private String sslKeyPassword;
@Value("${pymma.kafka.sslKeystorePassword:}")
private String sslKeystorePassword;
@Value("${pymma.kafka.sslKeystoreLocation:}")
private String sslKeystoreLocation;
@Value("${pymma.kafka.sslKeystoreType:}")
private String sslKeystoreType;
@Value(value = "${kafka.index.groupid})")
private String groupID;
public ConsumerFactory<String, ChtijbugObjectRequest> greetingConsumerFactory() {
Map<String, Object> props = new HashMap<>();
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress);
props.put(ConsumerConfig.GROUP_ID_CONFIG, groupID);
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, JsonDeserializer.class);
props.put(ConsumerConfig.FETCH_MAX_BYTES_CONFIG, 4655826);
if (activateSsl) {
props.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, SecurityProtocol.SSL.name);
props.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, this.sslTruststoreLocation);
props.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, this.sslTruststorePassword);
props.put(SslConfigs.SSL_KEY_PASSWORD_CONFIG, this.sslKeyPassword);
props.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, this.sslKeystorePassword);
props.put(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, this.sslKeystoreLocation);
props.put(SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, this.sslKeystoreType);
}
return new DefaultKafkaConsumerFactory<>(props, new StringDeserializer(), new JsonDeserializer<>(ChtijbugObjectRequest.class));
@Bean(name = "jmsTemplate")
JmsTemplate createJmsTemplate() {
connectionFactory = new ActiveMQXAConnectionFactory(jmsUrl);
connectionFactory.setTrustAllPackages(true);
connectionFactory.setAlwaysSyncSend(true);
connectionFactory.setProducerWindowSize(1024000);
jmsTemplate = new JmsTemplate(connectionFactory);
return jmsTemplate;
}
@Bean
public ConcurrentKafkaListenerContainerFactory<String, ChtijbugObjectRequest>
ruleKafkaListenerContainerFactory() {
ConcurrentKafkaListenerContainerFactory<String, ChtijbugObjectRequest> factory =
new ConcurrentKafkaListenerContainerFactory<>();
factory.setConsumerFactory(greetingConsumerFactory());
return factory;
}
/**
* Main method to start the application.
*/

View file

@ -12,6 +12,7 @@ import org.chtijbug.drools.proxy.persistence.repository.BusinessTransactionPersi
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Service;
@ -29,9 +30,7 @@ public class StoreLoggingService {
private BusinessTransactionActionRepository actionRepository;
@KafkaListener(
topics = KafkaTopicConstants.LOGING_TOPIC, groupId = "${kafka.index.groupid}",
containerFactory = "ruleKafkaListenerContainerFactory")
@JmsListener(destination = KafkaTopicConstants.LOGING_TOPIC)
public void store(ChtijbugObjectRequest result) {
if (result != null) {

View file

@ -2,9 +2,12 @@ kafka.bootstrapAddress=${PYMMA_KAFKA_BOOTSTRAP:localhost:9092,localhost:9093,loc
kieserver.login=${PYMMA_KIE_SERVEUR_LOGIN:kieserver}
kieserver.password=${PYMMA_KIE_SERVEUR_PASSWORD:kieserver1}
kafka.index.groupid=${PYMMA_KIE_SERVEUR_GROUPID:index1}
spring.data.mongodb.database=${PYMMA_MONGO_DATABASE:businessProxyDB}
spring.data.mongodb.host=${PYMMA_MONGO_HOST:localhost:28017}
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=${PYMMA_DATABASE_URL:jdbc:postgresql://localhost:12432/kiedev}
almady.jms.url=tcp://localhost:1617
spring.datasource.username=${PYMMA_DATABASE_USER:kiedev}
spring.datasource.password=${PYMMA_DATABASE_PASSWORD:kiedev}
server.port=${port:5547}

View file

@ -41,6 +41,7 @@
<jackson.bind.version>2.13.4.2</jackson.bind.version>
<postgres.version>42.2.8</postgres.version>
<postgresql.version>42.2.8</postgresql.version>
<activemq.version>5.15.10</activemq.version>
</properties>
<profiles>
<profile>