大数据平台高并发访问架构
一、 背景
工作中需要开发大数据平台、高访问量的一个项目,该项目提供100台设备,要求3000000并发。
二、设计
如图,在最前面添加一个F5做负载,用90+台机器,分别安装上varnish、nginx、web应用,
1、由于大部分操作为查询功能,故在最前面添加了varnish做为网页加速器,缓存页面内容,如果访问的请求命中,将直接返回至客户端,否则请求nginx,
2、nginx功能主要是将动态资源和动态资源进行分离,如果涉及到请求图片、js文件、css文件等内容,将直接由nginx返回数据
3、如果发起的请求为动态请求,将直接将请求转发到webapp,由webapp负责处理复杂的逻辑
4、多台应用直接的session共享,采用了msm技术,将session保存至分布式缓存中(图上没有体现出来)
5、数据库采用Mongodb,多台数据库服务器,用来支撑整个系统
二、可能存在的不足
1、目前将varnish、nginx、webapp安装到一台机器上,多台机器之间没有做负载均衡,这台机器上只要有一个应用挂掉,意味这这台机器就不能用了,是否有必要在多台服务器之间做负载??如果做负载,100台设备,如何做比较合理??
转载于:https://my.oschina.net/sunhuaili/blog/205216