1.网站架构--自己总结点

网站架构:粗略分为硬件架构和软件架构

一、硬件架构

1.1.机房选择:

  在选机房时,就近原则,根据地域分布,可选择双线或多线的机房(不知道啥意思,问度娘)。最好选择多线,越大的城市价格和成本高,所以大城市机房贵哦。建议选靠近大城市边缘的机房(当然你有钱的话随便怎样玩)。

1.2.宽带大小:(说句心理话,我们要学一下压力测试

  我们在架一个网站时,先要了解一下网站每天大概要能承受多大的PV访问量,设定目标,计算一下大概要多大的带宽。计算我们一般用(峰值流量和页面大小)来做指标。

假设:

1.峰值流量是平均流量的3倍。

2.每次访问平均的页面大小是100Kb左右。(事实我们的页面远比这个大。。。一张图都比它大。。。)

推算:

  如果1000PV的访问量在一天内平均分布,每秒大约是120次访问量,如果按平均每次访问量的页面大小是100kb字节计算,120次访问总计12000kb。字节单位是Byte,而带宽的单位是bit,注意这二个是不同的哦。关系是1Byte=8bit,所以12000kb*8=96000k  bit,大约是90Mbps的样子。再加上 峰值流量是平均流量的3倍。真实带宽90*3=270M左右。

计算机数据的基本存储单位:
8bit(位)=1Byte(字节)
1024Byte(字节)=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
其中:K是千 M是兆 G是吉咖 T是太拉

这个只是一个假设和举例。业务需根据公司需求来定,如大集团银行类一般走专线,内网。。。

1.3.服务器划分:

  基本划分成:图片服务器,页面服务器,数据库服务器,应用服务器,日志服务器,缓存集群服务器,代理服务器(也要部署多台)

注意点:

1.访问量大的服务器,图片服务器和页面服务器分离是必须的。----图片服务器加cdn完美组合。

2.数据库服务器,一主多从结构是必须的哦,做到读写分离,降低读表操作压力(像mysql和sqlserver都支持的),单独设一台从服务器用做定时备份。

3.日志服务器:现在中小型网站一般日志和页面服务器或应用服务器在一起,在访问量不大时通过同步程序取回服务器进行日志分析计算。不过这样处理也要消耗很多时间了服务器资源,这个又回到了在软件开发时,对日志模块设计了。建议是把日志存到一台服务器上去。

4.缓存服务器:如redis和Memcached之类的,集成到我们项目中

二.、网站的软架构:

说明:这个真不好讲了,开发语言太多了,框架也太多了,问你们的架构师吧。。。

三、网站架构需要考虑的几个性能优化的问题点:

1.Html静态化原则

2.图片服务器分离

3.服务接口拆分(如:rest 接口,webservice接口)

4.子系统子域名拆分

5.数据库集群和库表散列(简单的说是不同业务模块分不同的库和表去存储数据)

6.缓存技术的应用

7.消息队列的应用

8.分布式事物集成应用----这个电商少不了。。。

9.镜像部署(现在docker和各种云平台就是这种模式,扩容快,收缩也快)

10.负载均衡。。。请看下一篇文章吧。。。

四、操作系统

说句心理话,这个找个公司的运维人员搞专业一点,开发相信大家也会装各类操作系统,但是。。。但是。。。企业级的一般要阉割版本(轻量级的),不需要的功能都没必要装。

操作系统:ubuntu、Fedora:Redhat的免费桌面版、Redhat服务器版,Mandriva、Opensuse、Gentoo、CentOS、外加微软的windows server(各年代的版本)

PS:ubuntu,Redhat好像公司用的得多一点

PS:小编有中、小型企业官网或电商网站优化实际经验,一起学习共同进步,有需要联系QQ:84491182

最后说明:后面会把6年前其他博客上的文件搬迁过来,有些是复习资料甚至是面试题,请不要喷我。这6年入职的公司内部空余时间也不能写博客,所以一直没写过,后面会大补。。。

posted @ 2018-12-01 17:23  xiaoxiao001  阅读(185)  评论(0编辑  收藏  举报