`
coolboyysy
  • 浏览: 9997 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

类淘宝橱窗web应用设计问题

阅读更多
需求:
1 设计实现类淘宝橱窗web应用并涵盖流量控制系统。
2 展示支持日均pv 3亿 高峰9亿。
3 对每个广告位(橱窗),策略(展现规则)进行流量控制,按策略进行流量分配。
4 橱窗内容接口对接云端python接口,请求并返回云端数据,使用Socket tcp协议长连接方式。
5 要求从客户端浏览器请求到橱窗展现总流程不超过200ms。
6 可使用memacached ,oracle。

线上服务器八台
大概配置: 32g内存 32核心 500g硬盘 linux操作系统 resion服务器

流量控制:在橱窗展示时,针对每种橱窗,策略进行的展示次数的控制。一般控制在每个橱窗2千万-9千万次/天,每种规则1千万-8千万次/天。控制时间范围内误差为1分钟。

问题:
1 如何实现流量控制,并且支持容灾策略,如有三台流量监控应用,如何实现系统间有效通信,并且控制前端展现?
2 对云端接口的使用,如何设计,可实现平稳且有效返回均3亿次,高峰期9亿次请求?
3 如何设计可尽量缩短系统访问时间?
  • 大小: 122.2 KB
  • 大小: 177.6 KB
2
7
分享到:
评论
4 楼 coolboyysy 2013-08-20  
模糊的需求,稀缺的经验,坑爹的接口,天真的设计。

最终结果,必然失败。

高峰9亿,最乐观的情况,平均,1天9亿,相当于每秒10416pv

8台机器,java + python接口,后台还不知道有什么东西,能抗住压力就已经见鬼了,居然还要流程不超过200ms.
                                 
而且居然还用oracle,找死啊
其次,客户分布情况?
接着,有什么业务?业务特点是什么?
然后,数据流如何?在用户使用系统时,哪些地方容易成为瓶颈?
而且这是一个大系统

需要自建cdn

还要根据分布情况以及业务使用情况,来调整cdn节点的分布

计算前期投资

8台机器,一个简单到入门的图,在开玩笑么?

一般是工作时间,早8点到下午17点,晚上20点~22点还有一次高峰


而且上午10点还会迎来一次高潮

这种访问量是一个波动非常大的曲线图

并不是平均的

所以要先找准曲线图的峰值
 
需要做大量调研

然后一定要用c#,切记

哪里是什么一句话,3亿,高峰9亿这么简单。。


请求太大,数据库需要自己按照业务进行水平切分来负载均衡

中间件,必须全部走C++

接口用thrift之类的2进制协议,ws绝对走不得

我说了这几句话,你应该明白了,这个需求,不是你一个人能够完成的..


                                     -----广州-妇女之友
3 楼 coolboyysy 2013-08-20  
基本概念应该是 观察者模式
Observer Pattern
至于流量分配
你只要在你的HTML上做点文章,就可以了
                                             by  AI~非主流文文
2 楼 coolboyysy 2013-08-20  
首先,你不可能每次用户来访问你的时候

你都用JSP去连接口取数据对吧.
我的意思是,直接NGINX了
所有处理nginx完成了
既然不可能每个请求都用jsp处理
那么..干嘛还要JSP..

你自己写个东西,专门用来更新数据
然后变成 .html
所有处理,nginx直接访问 .html
用来做负载的话,可以 nginx+nginx

                                       by  AI~非主流文文
1 楼 cantalou 2013-08-19  
mark by cantalou

相关推荐

Global site tag (gtag.js) - Google Analytics