2.DSP骨架2.1 名词说明demand-side platform (DSP)-就是需求方平台,如果你有丰富的广告来源,例如4A广告公司就有可能需要这种平台.定义可以参看http//.wikipedia.org/wiki/Demand-side_platform.supply-side platform或者sell-side platform (SSP)-就是拥有媒体展示的平台,国内这种平台业务有很多变体,定义可以参看https://en.wikipedia.org/wiki/Supply-side_platform.data management platform(DMP)-有自己业务模式能积累大量数据的公司适合做这个业务,在线广告行业就需要这样的平台,具体的定义就不细说了.IAB-美国互动广告局,英文全称是Interactive Advertising Bureau,可以视为广告行业的标准机构,管理和发布在线广告标准,其中就有OpenRTB标准v2.2,v2.3,v2.4等等.Real-time bidding (RTB)-实时竞价机制,从系统设计的角度来理解就是广告交易的两方(需求方和提供方)建立一种保障实时竞价机制.2.2 DSP平台关键性难点a .tmax问题,我们当时使用的OpenRTB v2.2是这么解释的” Maximum amount of time in milliseconds to submit a bid (e.g.,120 means the bidder has 120ms to submit a bid before the auction is complete). If this value never changes across an exchange, then the exchange can supply this information offline”.这个需求就定义DSP系统重要的高性能指标, lowest latency response或者lowest response time(最少响应时间),也就是从auction server的角度从发出请求开始计时,通过网络传送到bidder,bidder内部有一个计算过程得到结果,再通过网络传回给auction server,所有的时间小于tmax指定的值.那么tmax在实践中指定的值是多少呢?从我后来对接过的系统要求来看,tmax值范围大概是100毫秒200毫秒之间。b . high-volume of request问题,系统需要支持多大的请求量(QPS)。移动广告行业有自己的特点,一天24小时的流量(请求量)不是均匀的,大部分正常流量都产生于晚上7点到11点之间,可能的每小时流量是多少呢?这样来计算,一个号称每天有2亿请求的流量平台,一天平均每小时为2亿请求/24小时=833万请求/小时,那么在高峰时段会是可能是3000-4000万请求/小时.如果业务要求接入10个这样的栏位拍卖平台,系统要能支持4亿/小时请求能力,如果是要求接入100个这样平台,对系统要求也是相当恐怖的。c . high-volume of data,很显然,前面巨大的请求量必然产生海量的数据这些数据需要被存储,被分析(有可能实时计算,也有可能是异步计算),然后产生业务价值.例如,客户的impression和click事件肯定用于计算广告的费用等等.所以,如果要构建这样的DSP骨架就需要面对这三个最大难关, lowest latency response, high-volume of request和high-volume of data(在内部,我们称为LHH问题).2.3 DSP构建DSP骨架2.3.1 DSP运行原理