Skip to content

Real Time Bidding (RTB) - Demand Side Platform ( DSP ) application based on vanilla-rtb stack

Notifications You must be signed in to change notification settings

vanilla-rtb/rapid-bidder

Repository files navigation

rapid-bidder

Real Time Bidding (RTB) - Demand Side Platform (DSP) - Model project

Open-source model application utilizing vanilla-rtb stack and Redis.

This is only model to show how vanilla-rtb stack can be included in your cmake project.

You are welcome to make pull requests to complete rappid-bidder with DSP specific business logic thus learning vanilla-rtb library.

Our resources are limited to maintaining vanilla-rtb stack itself here https://github.com/venediktov/vanilla-rtb

Even though we periodically update rapid-bidder for now it's not our main priority.

The examples how vanilla-rtb stack can be utilized are here https://github.com/venediktov/vanilla-rtb/tree/master/examples

vanilla-rtb DSP ecosystem

vanilla-rtb Multi-bidder-model-with-communicator-for-Win-notifications

Join the chat at https://gitter.im/vanilla-rtb/Lobby build

Structure ( how we see this structure for DSP ) :

  • / -- the root directory
    • framework/ -- vanilla-rtb stack
    • exchange_server/ -- exchange server process implementing connection to exchanges
    • budget/ -- compaign management, budget , banker
    • bidders/ -- all kind of bidders implementation goes here
    • loaders/ -- all cache loaders as service goes here
    • UI/ -- all admin html files and AngularJS stack go here
    • etc/ -- DSP configuration for all components of application
  • [CMakeLists.txt] - cmake file

This DSP depends on vanilla-rtb stack which referened via gh-submodule and Redis server ( for user matching ). To update to the latest version of vanilla-rtb stack use the following commands :

  • git clone --recursive git@github.com:vanilla-rtb/rapid-bidder.git rapid-bidder
  • git submodule update --recursive --remote
  • git pull --recurse-submodules

(📗) To build DSP suite of services use following commands in the root of dsp

Linux :

  • mkdir Release
  • cd Release
  • cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/path/to/install .. -G "Unix Makefiles"
  • gmake VERBOSE=1
  • cd ..
  • mkdir Debug
  • cd Debug
  • cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/path/to/install .. -G "Unix Makefiles"
  • gmake VERBOSE=1

add -DVANILLA_NO_EXAMPLES=1 if you don't want to build vanilla-rtb examples

Windows :

same steps as above for linux , only difference is depending on your environment either Visual Studio or NMake project can be used

  • cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/path/to/install .. -G "NMake Makefiles"
  • cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/path/to/install .. -G "NMake Makefiles"
  • cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/path/to/install .. -G "Visual Studio 14 2015"
  • cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/path/to/install .. -G "Visual Studio 14 2015"

In case your Boost library is not installed under /usr/include/boost add where you boost library installed

to cmake coomand with -DBOOST_ROOT=/where/boost/is/installed

By default if no -DCMAKE_INSTALL_PREFIX is passed on cmake command everyting will be installed under

rapid-bidder/Release/install
rapid-bidder/Debug/install

For faster builds invoking multiple make processes , find number of cores on your system

Linux command :

  • nproc

4

pass it to your make script like this

gmake -j4 install

Running application as individual steps (could be all put in one rapid-bidder.sh):

  • HTTP-Bidder
    • rapid-bidder/Release/install/bin$ ./http_bidder --config etc/config.cfg
  • Starting multiple bidders in one swoop, currently configured as 5 bidders in config
    • rapid-bidder/Release/install/bin$ ./multi_bidder --config etc/config.cfg
  • Cache loader
    • rapid-bidder/Release/install/bin$ ./cache_loader --config etc/config.cfg
  • Exchange Handler distributing to multi-bidders via communicator
    • rapid-bidder/Release/install/bin$ ./multi_bidder_exchange_handler --config etc/config.cfg

About

Real Time Bidding (RTB) - Demand Side Platform ( DSP ) application based on vanilla-rtb stack

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published