Web开发技术漫谈

来源:互联网 发布:预备党员网络课程心得 编辑:程序博客网 时间:2024/06/05 08:04

web初衷:请求解析资源 

ajax不能跨域(换域名,浏览器限制)

jsonp利用页面加载script实现跨域(页面元素被认为是静态资源,没有跨域限制)

特殊元素(只get):script交互性强,必执行;img安全上报(1*1像素点,访问统计);iframe嵌入

长链接,Content-Length错误,服务器会一直等待消息主体发完

后台结构调整:

动静分离(静态请求磁盘IO大,动态请求CPU占用高)

静态请求-CDN-反向代理-源文件

图片只新增,文本压缩,反向代理作缓存(squid/nginx,在图片服务器前加反向代理只请求本地不存在的图片),服务器选择(nginx/lighttpd,作为图片服务器比apache快20%),CDN(运营商全国部机器,BD自建CDN)

动态请求-逻辑分离-压力分散-缓冲/缓存-数据存储

适当服务器结构:nginx+fast cgi+eaccelerator/apc

解决IO瓶颈:memcache,异步化写入(mq,redis,解决并发写入量很大的过程),数据库读写分离,sql优化

分散压力(DNS/LVS/GLSB/CDN):会话易丢失,生效时间长,无权重概念

逻辑调整优化:合并请求,避免实时计算,需求调整

数据存储:

读写分离不适合写多读少(拆库)、强一致性、从库太多

分表分库:水平切分(id,时间,类型)、垂直切分(数据性质,登录用户和密码单独存在ssd上)

读出缓存,写入缓冲:一致性,写入缓冲队列挂(操作日志挂)

适度冗余:避免频繁表链接

no-sql:

数据安全:

静态存储多副本:

nfs+rsync

开源:MFS/DFS

BD内部:NFS/BOS

DB主从热备,定时冷备

热备不能恢复误操作

访问控制:

内部平台不对外开放

权限管理

操作日志

IP白名单

多IDC

php/C++/python

原创粉丝点击