今天是2015年3月28日 深圳多云
今天想写一些关于网站架构的要点
1.为什么要有网站架构
2.如何架构小型,中型网站
1.为什么要有网站架构
从你开始为一个网站架设一个项目名称开始其实你已经在架构一个网站了。
要做的事情包含以下几点
1.网站用户分几种类型,各自访问资源权限如何
2.网站预设的用户数量是多少,是否考虑使用CDN
3.是否包含SSO单点登陆
4.网站是否使用分布式
5.项目,文件,文件夹命名
6.使用何种数据库
7.解决方案所包含的项目数量
8.项目层级引用关系, 引用从属关系
9.项目开发人员数量,各自己修改权限
10.是否第用第三方库,是否使用nuget管理第三方库
以上问题如里你可以正确回答,哪么你就可以开始真正架构一个网站了,将以上问题的回答分发给开发人员相信他们对即将开发的网站有一个量级的认识
在考虑合作,与性能问题上也会更容易从实际问题出发,真正解决问题。而非表面的处理
总体来说网站架构是一个必不可少的环节,高效的与他人合作,制定一个专有的解决方案体系从网站架构开始;
2.小中型网站如何架构
小型网站的结构考虑更多的是复用性,可维护性;开发与维护在本低,大部分可变参数,全局变量最好配置到文件,
页面使用统一的模版,模版更可能的最大化使用,
尽可能不要使用一些特殊的第三方库,
尽管性能可能不是太理想(但一定要使用文档多,成熟的第三方库)
使用框架自有结构(如.net MVC 及 EntityFramework),
数据库设计简单,对于表名有一套公认的命名规则, 尽可能的不要制定复杂的表与表关系, 宁可加字段不要加表
考虑到小型网站用户数量,及访问量,及后期维护成本,小型网站以简单,快速为主
中型网站会涉及的问题更回复杂一些
同样中型网站也要考虑复用性,可维护性,但在这两者之前要考虑两个问题
1) 网站性能
2) 网站安全性
中型网站用户量可能是一个斜线,随着时间的推移对网站的性能要求更高
中型网站用户不断增加,面对群体各式各样。网站必需安合可靠。
网站性能主要可以从以下几个方面考虑
1.前端页面载入速度
为提高前端页面载入速度可能会使用内容分发网络(CDN),脚本,CSS合并压缩
2.前端脚步本运行速度
选择性能较好的第三方库 node.js ,extjs,jquery等等。当然也可以不用;
3.图片载入速度
按钮和图片的背景合并,使用体积更小的图片。使用CDN
4.后端业务逻辑处理速度
数据是否需要缓存,算法独立使用模块可升级,
数据库的索引配合, 是否分布式集群处理, 使用合理的数据持久对象
5.用户感觉到的速度
有时候系统不是真正的快,而是用户感觉快, 使用局部更新, 极时的用户动作反馈,让用户感觉网站是一个灵活的对话者
2.网站安全性