diff --git a/MiscClients/spring_reactjs/src/main/resources/fixclient.cfg b/MiscClients/spring_reactjs/src/main/resources/fixclient.cfg index b6014d8..73c3f0b 100644 --- a/MiscClients/spring_reactjs/src/main/resources/fixclient.cfg +++ b/MiscClients/spring_reactjs/src/main/resources/fixclient.cfg @@ -1,9 +1,8 @@ [DEFAULT] ConnectionType=initiator TargetCompID=FIX_GWY_1 -#SocketConnectHost=distributed_ats -SocketConnectHost=127.0.0.1 -#SocketConnectHost=165.22.179.176 +SocketConnectHost=distributed_ats +#SocketConnectHost=127.0.0.1 StartTime=00:00:00 EndTime=24:00:00 HeartBtInt=30 diff --git a/README.md b/README.md index 4e6b146..60fa61f 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,11 @@ services: restart: unless-stopped ``` +### Multi Matching Engine ATS, with each component running in a separate container +* [Docker Compose - Multi Matching Engine ATS](docker/docker-compose-multi-matching-engine.yml) +* [Docker Compose - WebTrader](docker/docker-compose-webtrader.yml) + + ### Dependencies |Dependency|Component| diff --git a/docker/docker-compose-multi-matching-engine.yml b/docker/docker-compose-multi-matching-engine.yml new file mode 100644 index 0000000..f7c50fe --- /dev/null +++ b/docker/docker-compose-multi-matching-engine.yml @@ -0,0 +1,101 @@ +version: '3.8' + +services: + + # DDS Discovery + fast_dds_discovery: + container_name: fast_dds_discovery + image: ghcr.io/mkipnis/distributed_ats:latest + command: > + bash -c "LD_LIBRARY_PATH=/usr/local/lib /usr/local/bin/fastdds discovery -q 51000" + ports: + - "51000:51000" + restart: no + + + # FIX Gateways + fix_gateway_1: + container_name: distributed_ats + image: ghcr.io/mkipnis/multi_matching_engine_ats:latest + depends_on: + - fast_dds_discovery + command: > + bash -c "/usr/local/bin/FIXGateway -c /usr/local/MiscATS/MultiMatchingEngineATS/config/fix_gwy_1.cfg" + environment: + - LOG_FILE_NAME=fix_gateway_1.log + volumes: + - ./logs:/var/log + ports: + - "15001:15001" + restart: no + + fix_gateway_2: + container_name: fix_gateway_2 + image: ghcr.io/mkipnis/multi_matching_engine_ats:latest + depends_on: + - fast_dds_discovery + command: > + bash -c "/usr/local/bin/FIXGateway -c /usr/local/MiscATS/MultiMatchingEngineATS/config/fix_gwy_2.cfg" + environment: + - LOG_FILE_NAME=fix_gateway_2.log + volumes: + - ./logs:/var/log + ports: + - "16001:16001" + restart: no + + + # Data Services + data_service_a: + container_name: data_service_a + image: ghcr.io/mkipnis/multi_matching_engine_ats:latest + depends_on: + - fast_dds_discovery + command: > + bash -c "/usr/local/bin/DataService -c /usr/local/MiscATS/MultiMatchingEngineATS/config/data_service_a.ini" + environment: + - LOG_FILE_NAME=data_service_a.log + volumes: + - ./logs:/var/log + restart: no + + data_service_b: + container_name: data_service_b + image: ghcr.io/mkipnis/multi_matching_engine_ats:latest + depends_on: + - fast_dds_discovery + command: > + bash -c "/usr/local/bin/DataService -c /usr/local/MiscATS/MultiMatchingEngineATS/config/data_service_b.ini" + environment: + - LOG_FILE_NAME=data_service_b.log + volumes: + - ./logs:/var/log + restart: no + + + # Matching Engines + matching_engine_market_y: + container_name: market_y + image: ghcr.io/mkipnis/multi_matching_engine_ats:latest + depends_on: + - fast_dds_discovery + command: > + bash -c "/usr/local/bin/MatchingEngine -c /usr/local/MiscATS/MultiMatchingEngineATS/config/matching_engine_MARKET_Y.ini" + environment: + - LOG_FILE_NAME=matching_engine_MARKET_Y.ini + volumes: + - ./logs:/var/log + restart: no + + matching_engine_market_z: + container_name: market_z + image: ghcr.io/mkipnis/multi_matching_engine_ats:latest + depends_on: + - fast_dds_discovery + command: > + bash -c "/usr/local/bin/MatchingEngine -c /usr/local/MiscATS/MultiMatchingEngineATS/config/matching_engine_MARKET_Z.ini" + environment: + - LOG_FILE_NAME=matching_engine_MARKET_Z.ini + volumes: + - ./logs:/var/log + restart: no diff --git a/docker/docker-compose-webtrader.yml b/docker/docker-compose-webtrader.yml new file mode 100644 index 0000000..3b74624 --- /dev/null +++ b/docker/docker-compose-webtrader.yml @@ -0,0 +1,12 @@ +version: '2' + +services: + # WebTrader Front-End + distributed_ats_webtrader: + container_name: distributed_ats_webtrader + image: ghcr.io/mkipnis/distributed_ats_webtrader:latest + volumes: + - ./webtrader_logs:/usr/local/tomcat/logs + ports: + - "8080:8080" + restart: no diff --git a/docker/dockerize_dats.sh b/docker/dockerize_dats.sh index 126bce9..539bba4 100755 --- a/docker/dockerize_dats.sh +++ b/docker/dockerize_dats.sh @@ -5,8 +5,11 @@ set -x # Core docker build -t ghcr.io/mkipnis/distributed_ats_deps:latest -f Docker.Build_DATS_Deps . docker build -t ghcr.io/mkipnis/distributed_ats:latest -f Docker.Build_Distributed_ATS . + +# Exchanges docker build --no-cache -t ghcr.io/mkipnis/dats_crypto_clob:latest -f Docker.Crypto_CLOB . docker build --no-cache -t ghcr.io/mkipnis/dats_ust_clob:latest -f Docker.UST_CLOB . +docker build --no-cache -t ghcr.io/mkipnis/multi_matching_engine_ats:latest -f Docker.MultiMatchingEngineATS . docker push ghcr.io/mkipnis/distributed_ats_deps:latest docker push ghcr.io/mkipnis/distributed_ats:latest diff --git a/docker/fixclient_docker.cfg b/docker/fixclient_docker.cfg index c6e2cbf..73c3f0b 100644 --- a/docker/fixclient_docker.cfg +++ b/docker/fixclient_docker.cfg @@ -3,7 +3,6 @@ ConnectionType=initiator TargetCompID=FIX_GWY_1 SocketConnectHost=distributed_ats #SocketConnectHost=127.0.0.1 -#SocketConnectHost=165.22.179.176 StartTime=00:00:00 EndTime=24:00:00 HeartBtInt=30