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 Multi-bidder-model-with-communicator-for-Win-notifications
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
- 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
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
Linux command :
- nproc
4
pass it to your make script like this
gmake -j4 install
- 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