我目前正在构建一个广告服务器,使注册的广告商能够对注册发布商的网站上的展示进行竞价。广告商将按每千次展示费用模式收费。
该服务的一些理想属性是:
- 通过完成投标过程,大约需要 10 毫秒的时间到达要投放的广告。
- 支持大约 10k 个并发广告请求。这个数字可能会随着时间的推移而增长
从架构的角度来看,这种服务是否有任何通用指南?有什么需要牢记的警告吗?
为了使其可扩展,服务必须是分布式的。哪个数据存储符合要求?我倾向于卡桑德拉。
因为广告商将按每千次展示费用收费,所以我认为必须维护某种计数器来跟踪展示次数。鉴于应用程序的高度并发和分布式特性,我如何确保印象计数不会丢失/错误。
同样,如何确保广告系列的成本永远不会超过分配给广告系列的预算(我想避免的示例场景:预算为 100 美元,花费 99 美元,剩余 1 美元,同时提供两个印象,每个成本 0.75 美元,成本为 100.5 美元,而最高预算仅为 100 美元)
任何帮助将非常感激。
谢谢 RK