venediktov / vanilla-rtb

Real Time Bidding (RTB) - Demand Side Platform framework

Home Page:http://forkbid.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

docker compose with swarm

venediktov opened this issue · comments

  • create docker-compose-vanilla.yaml
    this command "docker-compose -f docker-compose-vanilla.yaml"
    should start NGINX configured for vanilla-rtb docker image + vanilla-rtb image with 3-4 http_handler_test running on 3-4 different ports .
    docker compose file should map volume for both nginx and vanilla-rtb , so that we could alter configuration if needed.
  • add performance tests results to our wiki

I only tested on Mac OS , docker is super slow with swarm cluster and load balancing there was a challenge as our bidders by default utilize persistent connection and docker swarm load balancer did not seem to hold connections to its virtual ip/ports .

I picked up TRAEFIK docker image and set it up for load balancing of bidder persistent connections , it did perform better under swarm/traefik but not ideal .
I will look into setting up NGINX persistent connection to the backend instead - will take some time.

If anyone @mrbald or @abushev want to give it a try perhaps there is better way to load balance persistent connections ?

Added HAProxy example it runs faster then TRAEFIK but still lags behind standalone bidder , needs more research , possible to experiment with home grown front-to-back socket binding with keep-alive

let's add compose.yml with SSP see #84 , then close this ticket.