Compare commits

...

8 Commits

Author SHA1 Message Date
00098996c6 Added ip override
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-14 23:23:34 +02:00
61974f9d64 fixed demo
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-14 22:00:10 +02:00
067e9c4cd4 Update 'README.rst'
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-14 13:45:20 +02:00
c1f4d772be Add 'README.rst'
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-14 13:43:15 +02:00
7ab4575ae4 all redis works
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-14 13:21:12 +02:00
7b70ebeb27 fixed dependencies
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-14 13:06:03 +02:00
9f7f993aa2 Merge branch 'master' of gitea:GoldenPogacsa/p2p-storage-simulator
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-13 16:03:13 +02:00
cee40adb92 further changes 2020-05-13 16:03:05 +02:00
2 changed files with 93 additions and 54 deletions

12
README.rst Normal file
View File

@ -0,0 +1,12 @@
=====================
P2P Storage Simulator
=====================
The system consists of two types of components, the producer sends logs to consumer, to one at a time. Consumer discovery is done
by the producers and other consumers.
This repository connect the two component of the system. It uses docker-compose to build a demo
system (with multiple producers and consumers), which can be used for evaluation. After cloning, run the command
*docker-compose up.*
which will set up the system.
Produced by GoldenPogácsa Inc.

View File

@ -36,8 +36,10 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
- PRODUCER_KNOWNCONSUMER=192.168.111.21 - PRODUCER_KNOWNCONSUMER=192.168.111.21
- PRODUCER_REDIS=localhost - PRODUCER_REDIS=192.168.111.211
network_mode: "service:producer-redis1-1" networks:
firstsubnet:
ipv4_address: 192.168.111.11
depends_on: depends_on:
- consumer-api1 - consumer-api1
- producer-redis1-1 - producer-redis1-1
@ -46,8 +48,8 @@ services:
image: registry.kmlabz.com/goldenpogacsa/producer-endpoint image: registry.kmlabz.com/goldenpogacsa/producer-endpoint
restart: unless-stopped restart: unless-stopped
environment: environment:
- REDIS_URL=redis://localhost - REDIS_URL=redis://192.168.111.211/0
network_mode: "service:producer-redis1-1" network_mode: "service:producer1-1"
depends_on: depends_on:
- consumer-api1 - consumer-api1
- producer-redis1-1 - producer-redis1-1
@ -57,7 +59,7 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
firstsubnet: firstsubnet:
ipv4_address: 192.168.111.11 ipv4_address: 192.168.111.211
#### Producer 2 #### Producer 2
@ -68,7 +70,10 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
- PRODUCER_KNOWNCONSUMER=192.168.111.21 - PRODUCER_KNOWNCONSUMER=192.168.111.21
network_mode: "service:producer-redis1-2" - PRODUCER_REDIS=192.168.111.210
networks:
firstsubnet:
ipv4_address: 192.168.111.10
depends_on: depends_on:
- consumer-api1 - consumer-api1
- producer-redis1-2 - producer-redis1-2
@ -77,8 +82,8 @@ services:
image: registry.kmlabz.com/goldenpogacsa/producer-endpoint image: registry.kmlabz.com/goldenpogacsa/producer-endpoint
restart: unless-stopped restart: unless-stopped
environment: environment:
- REDIS_URL=redis://localhost - REDIS_URL=redis://192.168.111.210/0
network_mode: "service:producer-redis1-2" network_mode: "service:producer1-2"
depends_on: depends_on:
- consumer-api1 - consumer-api1
- producer-redis1-2 - producer-redis1-2
@ -89,7 +94,7 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
firstsubnet: firstsubnet:
ipv4_address: 192.168.111.10 ipv4_address: 192.168.111.210
#### Producer 3 #### Producer 3
@ -100,7 +105,10 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
- PRODUCER_KNOWNCONSUMER=192.168.111.21 - PRODUCER_KNOWNCONSUMER=192.168.111.21
network_mode: "service:producer-redis1-3" - PRODUCER_REDIS=192.168.111.209
networks:
firstsubnet:
ipv4_address: 192.168.111.9
depends_on: depends_on:
- consumer-api1 - consumer-api1
- producer-redis1-3 - producer-redis1-3
@ -109,8 +117,8 @@ services:
image: registry.kmlabz.com/goldenpogacsa/producer-endpoint image: registry.kmlabz.com/goldenpogacsa/producer-endpoint
restart: unless-stopped restart: unless-stopped
environment: environment:
- REDIS_URL=redis://localhost - REDIS_URL=redis://192.168.111.209/0
network_mode: "service:producer-redis1-3" network_mode: "service:producer1-3"
depends_on: depends_on:
- consumer-api1 - consumer-api1
- producer-redis1-3 - producer-redis1-3
@ -121,7 +129,7 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
firstsubnet: firstsubnet:
ipv4_address: 192.168.111.9 ipv4_address: 192.168.111.209
### Producer group 2 ### Producer group 2
@ -132,7 +140,10 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
- PRODUCER_KNOWNCONSUMER=192.168.222.22 - PRODUCER_KNOWNCONSUMER=192.168.222.22
network_mode: "service:producer-redis2-1" - PRODUCER_REDIS=192.168.222.212
networks:
secondsubnet:
ipv4_address: 192.168.222.12
depends_on: depends_on:
- consumer-api2 - consumer-api2
- producer-redis2-1 - producer-redis2-1
@ -141,8 +152,8 @@ services:
image: registry.kmlabz.com/goldenpogacsa/producer-endpoint image: registry.kmlabz.com/goldenpogacsa/producer-endpoint
restart: unless-stopped restart: unless-stopped
environment: environment:
- REDIS_URL=redis://localhost - REDIS_URL=redis://192.168.222.212/0
network_mode: "service:producer-redis2-1" network_mode: "service:producer2-1"
depends_on: depends_on:
- consumer-api2 - consumer-api2
- producer-redis2-1 - producer-redis2-1
@ -152,7 +163,7 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
secondsubnet: secondsubnet:
ipv4_address: 192.168.222.12 ipv4_address: 192.168.222.212
#### Producer 2 #### Producer 2
@ -163,7 +174,10 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
- PRODUCER_KNOWNCONSUMER=192.168.222.22 - PRODUCER_KNOWNCONSUMER=192.168.222.22
network_mode: "service:producer-redis2-2" - PRODUCER_REDIS=192.168.222.213
networks:
secondsubnet:
ipv4_address: 192.168.222.13
depends_on: depends_on:
- consumer-api2 - consumer-api2
- producer-redis2-2 - producer-redis2-2
@ -172,8 +186,8 @@ services:
image: registry.kmlabz.com/goldenpogacsa/producer-endpoint image: registry.kmlabz.com/goldenpogacsa/producer-endpoint
restart: unless-stopped restart: unless-stopped
environment: environment:
- REDIS_URL=redis://localhost - REDIS_URL=redis://192.168.222.213/0
network_mode: "service:producer-redis2-2" network_mode: "service:producer2-2"
depends_on: depends_on:
- consumer-api2 - consumer-api2
- producer-redis2-2 - producer-redis2-2
@ -183,7 +197,7 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
secondsubnet: secondsubnet:
ipv4_address: 192.168.222.13 ipv4_address: 192.168.222.213
#### Producer 3 #### Producer 3
@ -194,7 +208,10 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
- PRODUCER_KNOWNCONSUMER=192.168.222.22 - PRODUCER_KNOWNCONSUMER=192.168.222.22
network_mode: "service:producer-redis2-3" - PRODUCER_REDIS=192.168.222.214
networks:
secondsubnet:
ipv4_address: 192.168.222.14
depends_on: depends_on:
- consumer-api2 - consumer-api2
- producer-redis2-3 - producer-redis2-3
@ -203,8 +220,8 @@ services:
image: registry.kmlabz.com/goldenpogacsa/producer-endpoint image: registry.kmlabz.com/goldenpogacsa/producer-endpoint
restart: unless-stopped restart: unless-stopped
environment: environment:
- REDIS_URL=redis://localhost - REDIS_URL=redis://192.168.222.214/0
network_mode: "service:producer-redis2-3" network_mode: "service:producer2-3"
depends_on: depends_on:
- consumer-api2 - consumer-api2
- producer-redis2-3 - producer-redis2-3
@ -214,7 +231,7 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
secondsubnet: secondsubnet:
ipv4_address: 192.168.222.14 ipv4_address: 192.168.222.214
## Producer Group 3 ## Producer Group 3
@ -226,28 +243,30 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
- PRODUCER_KNOWNCONSUMER=192.168.123.21 - PRODUCER_KNOWNCONSUMER=192.168.123.21
- PRODUCER_REDIS=localhost - PRODUCER_REDIS=192.168.123.211
network_mode: "service:producer-redis1-1" networks:
thirdsubnet:
ipv4_address: 192.168.123.11
depends_on: depends_on:
- consumer-api3 - consumer-api3
- producer-redis1-1 - producer-redis3-1
producer-endpoint3-1: producer-endpoint3-1:
image: registry.kmlabz.com/goldenpogacsa/producer-endpoint image: registry.kmlabz.com/goldenpogacsa/producer-endpoint
restart: unless-stopped restart: unless-stopped
environment: environment:
- REDIS_URL=redis://localhost - REDIS_URL=redis://192.168.123.211/0
network_mode: "service:producer-redis1-1" network_mode: "service:producer3-1"
depends_on: depends_on:
- consumer-api3 - consumer-api3
- producer-redis1-1 - producer-redis3-1
producer-redis3-1: producer-redis3-1:
image: redis image: redis
restart: unless-stopped restart: unless-stopped
networks: networks:
thirdsubnet: thirdsubnet:
ipv4_address: 192.168.123.11 ipv4_address: 192.168.123.211
#### Producer 2 #### Producer 2
@ -258,28 +277,30 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
- PRODUCER_KNOWNCONSUMER=192.168.123.21 - PRODUCER_KNOWNCONSUMER=192.168.123.21
network_mode: "service:producer-redis1-2" - PRODUCER_REDIS=192.168.123.210
networks:
thirdsubnet:
ipv4_address: 192.168.123.10
depends_on: depends_on:
- consumer-api3 - consumer-api3
- producer-redis1-2 - producer-redis3-2
producer-endpoint3-2: producer-endpoint3-2:
image: registry.kmlabz.com/goldenpogacsa/producer-endpoint image: registry.kmlabz.com/goldenpogacsa/producer-endpoint
restart: unless-stopped restart: unless-stopped
environment: environment:
- REDIS_URL=redis://localhost - REDIS_URL=redis://192.168.123.210/0
network_mode: "service:producer-redis1-2" network_mode: "service:producer3-2"
depends_on: depends_on:
# - consumer-api1 - consumer-api3
- producer-redis1-2 - producer-redis3-2
producer-redis3-2: producer-redis3-2:
image: redis image: redis
restart: unless-stopped restart: unless-stopped
networks: networks:
thirdsubnet: thirdsubnet:
ipv4_address: 192.168.123.10 ipv4_address: 192.168.123.210
#### Producer 3 #### Producer 3
@ -287,28 +308,31 @@ services:
image: registry.kmlabz.com/goldenpogacsa/producer image: registry.kmlabz.com/goldenpogacsa/producer
restart: unless-stopped restart: unless-stopped
environment: environment:
- PRODUCER_KNOWNCONSUMER=192.168.123.22 - PRODUCER_KNOWNCONSUMER=192.168.123.21
network_mode: "service:producer-redis2-3" - PRODUCER_REDIS=192.168.123.214
networks:
thirdsubnet:
ipv4_address: 192.168.123.14
depends_on: depends_on:
# - consumer-api2 - consumer-api3
- producer-redis2-3 - producer-redis3-3
producer-endpoint3-3: producer-endpoint3-3:
image: registry.kmlabz.com/goldenpogacsa/producer-endpoint image: registry.kmlabz.com/goldenpogacsa/producer-endpoint
restart: unless-stopped restart: unless-stopped
environment: environment:
- REDIS_URL=redis://localhost - REDIS_URL=redis://192.168.123.214/0
network_mode: "service:producer-redis2-3" network_mode: "service:producer3-3"
depends_on: depends_on:
# - consumer-api2 - consumer-api3
- producer-redis2-3 - producer-redis3-3
producer-redis3-3: producer-redis3-3:
image: redis image: redis
restart: unless-stopped restart: unless-stopped
networks: networks:
thirdsubnet: thirdsubnet:
ipv4_address: 192.168.123.14 ipv4_address: 192.168.123.214
## Consumer stuff ## Consumer stuff
@ -331,8 +355,9 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
- REDIS_URL=redis://192.168.111.121/0 - REDIS_URL=redis://192.168.111.121/0
- INITIAL_SERVERS="192.168.222.22, 192.168.222.122" - INITIAL_SERVERS=192.168.222.22,192.168.123.21
- LOCAL_UUID=d8b2e5e2-f675-4194-9324-af58e4b70c54 - LOCAL_UUID=d8b2e5e2-f675-4194-9324-af58e4b70c54
- FORCE_IP_OVERRIDE=True
network_mode: "service:consumer-api1" network_mode: "service:consumer-api1"
depends_on: depends_on:
- consumer-redis1 - consumer-redis1
@ -364,8 +389,9 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
- REDIS_URL=redis://192.168.222.122/0 - REDIS_URL=redis://192.168.222.122/0
- INITIAL_SERVERS="192.168.111.21, 192.168.123.21" - INITIAL_SERVERS=192.168.123.21,192.168.111.21
- LOCAL_UUID=9e79d4e7-f4c2-44d2-ac11-682f62fda985 - LOCAL_UUID=9e79d4e7-f4c2-44d2-ac11-682f62fda985
- FORCE_IP_OVERRIDE=True
network_mode: "service:consumer-api2" network_mode: "service:consumer-api2"
depends_on: depends_on:
- consumer-redis2 - consumer-redis2
@ -385,7 +411,7 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
- REDIS_URL=redis://192.168.123.121/0 - REDIS_URL=redis://192.168.123.121/0
- LOCAL_UUID=d8b2e5e2-f675-4194-9324-af58e4b70c54 - LOCAL_UUID=d8b2e5e3-f675-4194-9324-af58e4b70c55
networks: networks:
thirdsubnet: thirdsubnet:
ipv4_address: 192.168.123.21 ipv4_address: 192.168.123.21
@ -397,8 +423,9 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
- REDIS_URL=redis://192.168.123.121/0 - REDIS_URL=redis://192.168.123.121/0
- INITIAL_SERVERS="192.168.111.21, 192.168.222.122" - INITIAL_SERVERS=192.168.111.21,192.168.222.22
- LOCAL_UUID=d8b2e5e3-f675-4194-9324-af58e4b70c55 - LOCAL_UUID=d8b2e5e3-f675-4194-9324-af58e4b70c55
- FORCE_IP_OVERRIDE=True
network_mode: "service:consumer-api3" network_mode: "service:consumer-api3"
depends_on: depends_on:
- consumer-redis1 - consumer-redis1