开发者社区> 问答> 正文

实践:电视广告计费高并发设计问题

目前遇到一个关于电视广告计费问题,详细如下:
一、需求简单概括为:一则广告可以被播放多少次(根据$决定),超过次数则不能再播放。目前前端多台应用服务器通过均衡器转发,需要解决播放次数准确计数。
二、遇到的瓶颈为:
1、如果使用一台Redis做次数统计,前端10台应用服务器对一台Redis压力过大。
2、大量客户端(国外网络电视)正在播放某部非常热门电视栏目时候,大量的广告请求导致后端压力异常巨大,目前预估计高压情况下实时请求数为50w-70w。
3、由于每个客户端看到的广告可能不一样,所以不能预先编排。
4、由于是电视机原因,窗口排队等机制可能不是很好,一般要求3s内返回。
求各位给个思路

展开
收起
落地花开啦 2016-02-21 13:50:54 2533 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    仅是个人观点,给你参考一下
    把银行业账务清算的概念纳入进你的电视广告计费系统中,解决高并发设计问题,方法是:
    比如规定一个小时清算一次(如果实时控制要求高可以设置几分中清算一次),在一小时内,非清算状态下,客户端自己记录播放广告的次数,清算时,服务器轮询,或者客户端主动报送,上个小时内的播放次数数据。由服务端汇总。这样就把即时压力,分摊开来,从而解决了高并发问题。
    一个清算场次内的数据,可以压缩上报,也能解决网络峰值压力。

    2019-07-17 18:45:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
徐雷-Java为王,互联网高并发架构设计与选型之路6.0 立即下载
Redis 的高并发实战:抢购系统 立即下载
MySQL高并发场景实战 立即下载