需要的基础概念:
1.按效果付费:详细概念点击此处
2.竞价排名:详细概念点击此处
按照上面的两个概念的详细内容,那么系统就至少需要面对以下的问题:
1.高并发,要求相应时间短
2.高并发情况下广告客户金额计算正确性
3.用户访问页面内容与广告的内容高匹配度
解决方案简单对比:
|
A
|
B
|
C
|
属性
|
C#.net平台(无消息队列服务)
|
C#.net平台(有消息队列服务)
|
基于Storm和hadoop
|
横向扩展
|
服务集群前置负载均衡设备,通过添加服务器扩展容量
|
服务集群前置负载均衡设备,通过添加服务器扩展容量,单结点的负载能力胜过A
|
服务集群不需要负载设备,通过添加服务节点扩展容量
|
纵向扩展
|
增加功能会降低单单结点的相应能力,影响服务过程的平均响应时间
|
增加功能不会降低单单结点的相应能力,对服务过程的平均响应时间影响较小
|
需要在编程阶段将功能细分到Spout降低单台服务器的负载,但是可以不影响单结点的响应能力和服务的平均响应时间
|
响应时间
|
单结点负载范围内和BC持平,超出范围响应时间快速增加
|
单结点负载范围内和AC持平,超出范围响应时间受消息队列系统性能影响较大,可能会出现部分较大延迟。
|
集群负载范围内和AB持平,超出范围后平均响应时间会与请求量成比例增加,并出现部分无相应的情况。
|
并发量
|
最小
|
正常负载范围内和C持平
|
正常负载范围内与B持平,
|
技术实现难度
|
无难度
|
需要自己实现消息队列服务
|
需要熟悉storm的编程模式
|
运维
|
需要独立的集群服务监控软件
|
需要独立的集群服务监控软件
|
Storm本身有节点监控功能
|