天下風雲出我輩
一入江湖歲月催

投票项目高可用Web集群架构实践

1、图片投票(PHP)

投票展示对象为图片(上千个),开发语言php,负载均衡高可用开启会话保持,使用高速缓存,NFS共享程序数据,后端mysql主从。

实际项目投票负载监控TCP最高并发3K多,没压力。

 

2、视频投票(Tomcat)

投票对象为小视频(上千个),开发语言Java,负载高可用,使用动静分离加CDN分发,后端mysql主从。使用阿里的压测5K多TCP并发没压力,实际项目只达到1k多。

对比php开发的同样的投票项目,java稳定性以及扛并发似乎更高些,但是成本也高些。

投票项目除了要考虑到高可用,高性能,还得对于防作弊行为作出限制,并且增加安全防护,因为实际环境中投票对象除了正常拉票外,更可能的是直接买票。

项目架构的重点大概有以下几个:

  1. 安全防护:DDOS、CC、web漏洞的安全防护
  2. 防作弊:对于投票人的真实性作出判断以及限制:主要从IP,时间段,验证方式:除了使用防机器人识别的程序验证加入手机验证码机制,并从异常的手机号中抽取几个打电话进行询问是否真实。
  3. 高可用高性能:负载均衡使用高可用架构及后端web服务器可横向扩展。
  4. 缓存:高性能缓存提高访问速度
  5. 数据库:Mysql主从双机热备
  6. 动静分离并加入CDN提高访问速度
  7. 如果无法预估流量,可以考虑使用弹性伸缩。

 

赞(5) 打赏
未经允许不得转载:Anonym0x1 » 投票项目高可用Web集群架构实践

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏