-
Notifications
You must be signed in to change notification settings - Fork 406
RTBkit Binary Package
Over time, the notion of roles appeared within the RTBkit ecosystem.
- Some people are interested in RTBkit, because they want to evolve it, contribute to it and so forth: These people usually work from the Github repository and submit patches or pull requests
- Some people are interested in RTBkit, because they have campaigns to run: These people usually do not give much importance about how RTBkit is built, its internals or it's internal architecture. Instead, they are concerned about how to write bidding agents or augmentors, how to deploy and configure RTBkit, budget management, reporting, fail over, and so forth.
We now describe RTBkit Binary Package, or an alternative way to work with RTBkit targeting users in the second category above.
It is now possible to construct a binary package and use it to deploy and work with RTBkit, without having to rebuild from the distribution tree. The only invocations of make
required are to build the sample or to develop (e.g., a bidding agent, or an augmentor).
By definition, an RTBkit Binary Package ought to contain everything you need when you belong to the second category above. Every exception to this rule, should be considered a bug and submitted to us.
The RTBkit root directory contains a Python script which can be used in order to build an RTBkit Binary Package.
$ ./export_binary.py usage: export_binary.py [-h] --rtbkit_root RTBKIT_ROOT --local_root LOCAL_ROOT [--prefix PREFIX] export_binary.py: error: argument --rtbkit_root is required
This script can only be executed from a source tree in which the following command have been run successfully:
$ make compile test
Classically, it would be executed as follows:
$ ./export_binary.py --rtbkit_root . --local_root ../local
This produces a compressed tarball, which unless the --prefix
option is used, is named: rtbkit-YYYYMMDD.tar.bz2
, such as: rtbkit-20140401.tar.bz2
Once built according to the procedure described above, then tarball can be distributed and used on any Ubuntu 12.04LTS machine:
$ tar jxf rtbkit-20140401.tar.bz2 $ cd rtbkit-20140401 $ source rtbkit-20140401.env.sh $ cd examples $ make -j4 $ cd .. $ zkServer.sh start $ mock_exchange_runner >& /tmp/mock_exchange_runner.out &
and from this point on, you can run the demo stack, as explained here.
Note that all the examples and demo, can be built from the examples
directory, by running the command make
. You may want to edit the Makefile in order to suit your needs -- for example, to add support for your own source files. Yet, everything in this makefile is usable as is, provided that you have sourced the environment file, as on line 3 in the snippets above.
The examples
directory contains samples, which can be used in order to bootstrap the development of your own processes (e.g., bidding_agent_ex, ...).
- Getting Started
- Pull Request Guidelines
- Coding Standards
- Demo Stack
- How to compile static filters test
- RTBkit Binary Package
- Architecture
- Bid Request Lifecycle
- ZooKeeper Nodes
- Load Shedding
- Banker
- Post Auction Loop State Machine
- Post-Auction Loop Sharding
- ZMQ Endpoints