hadoop适合处理分布式集群系统,本身是支持高速并发海量数据的写入和读取的。解决大量用户并发访问的方案有很多,给你个千万pv的参考方案:
1)架构中直接引入软件名称的模块,是个人推荐使用的,如Haproxy、Hadoop等;
2)关于全局负载均衡,看成本投入情况,可以使用商业的产品,如F5-GTM,开源方案便是自搭智能DNS;
3)本地负载均衡方案,可以考虑F5-LTM或成熟的开源解决方案LVS;
4)代理层为什么推荐大家使用Haproxy?Haproxy是一个非常优秀的反向代理软件,十分高效、稳定。国内top 10的互联网公司都有在使用;
5)缓存层可以使用Squid或Varnish,个人更倾向Varnish。配置灵活、运行稳定,提供非常便利的管理接口。为啥在缓存层前面加一层代理?优点非常多,列举如下:
根据应用配置URI路由规则,集中热点来提高后端缓存的命中率;
轻松划分网站频道、版块,更好对应用进步组织、规划;
对URI进行一般性安全过滤,抵御注入攻击;
弹性调配硬件资源,应对突发事件产生大流量;
可回收宝贵的公网IP资源;
6)应用层开源技术方案非常多且成熟,在此不详细描述;
7)数据库层主流开源解决方案Mysql是首选,主从复制(一主对多从)是目前比较靠谱的模式;
8)关于Nosql,应用场景不多说,可参考“给部门做的Mongodb技术交流PPT”文章,redis、memcached等作为热点数据存储、数据库缓存都非常理想;
9)内网DNS扮演的角色非常重要,一定要消灭code中出现的内网IP地址,很大程度减少因IP变更、服务器故障而修改源码的情况,同时也便于维护;
10)内网LB适用在内部WEB接口、多台数据库Slave、多台Nosql Slave、公共服务等应用的负载均衡,可以使用LVS、Haproxy来实现,可用性要求不高的应用可行直接使用Localhost DNS轮询;
11)hadoop适合海量数据的存储与处理,如做网站日志分析、用户数据挖掘等;
12)管理集群,平台的核心,运维的阵地;