技术杂谈

网络新概念,云计算、大数据、O2O、电商。。。。

一、系统设计目标和需求分析(2000个在线用户)

    假设最大有2000个在线客户,并且假定客户每5秒点击一次页面,那么系统的吞吐率是400 requests/s。经过测试,如果不考虑网络宽带影响,页面静态化后每台服务能够支持的最大吞吐率大概是250-300 requests/s,那么web服务器的最少数量是400/250=2台。

    假设一个页面,含图片的大小是2MB,并且假设所有客户都是第一次访问,并要求所有客户在10秒内就下载完所有数据,那么每秒内系统要提供下载的数据有400×2MB/10=80MB。100Mbps独享宽带能够提供最大的下载速率是100/8=12.5MB/s,那么需要80/12.5=6.4条100M独享宽带,即:最少需要6台图片服务器,并且每台图片服务器都配备100M独享宽带。考虑到2000个在线客户是极限情况,为节约投资,可以考虑只使用3-5台配备100M独享宽带的web服务器

    因使用了静态页面技术,在整个站的静态页面基本生成之后,数据库服务器压力会很大程度得到缓解。数据库的压力难以准确测试,并且上线之后可以很快的根据实际情况调整,暂时推荐配备2台数据库。

二、系统架构

1,web服务器分配:2台web服务器采用DNS轮询或重定向的方式来分散压力

2,图片服务器图片同步:通过web service服务来同步图片

3,数据库数据同步:读写分离,读数据随机选择其中一台数据库服务器,写数据同时写入所有数据库服务器

三、系统应用层次开发

1,2台或N台数据库数据同步,要实现:写数据要同时写入所有数据库服务器,读数据随机抽取

2,2台或N台图片服务器图片同步,要实现:

a,商城系统后台上传产品到主图片服务器,其他从图片服务器自动和主图片服务器同步

b,商城系统后台删除图片,要同时删除所有图片服务器上的图片

c,商城前台页面的图片地址,要随机分散到N台图片服务器上

3,如果采用重定向方法均衡web服务器,需要给重定向web服务器开发重定向模块

4,页面静态化