高性能网站技术与方案汇总
1、页面静态化
解决方式:FreeMarker
优势:高并发
原理:
1、封装参数+ftl模版=静态页面
2、请求访问静态页面地址
3、静态页面的更新,考虑到浏览器缓存,名字加随机码或版本号
2、伪静态
解决方式:URLRewrite
优势:更好被搜索引擎收录
原理:过滤器原理实现,url重定向。
3、异构系统通信
解决方式:CXF
优势:不同平台、不同开发语言可通信
原理:基于webService服务调用,SOAP简单对象访问协议使用HTTP来发送XML格式的信息。
4、图片服务器分离
解决方式:FastDFS、CDN
优势:
1、分担服务器I/O负载
2、分布式文件系统FastDFS非商用,需考虑带宽成本
3、推荐内容分发网络CDN
商用有自带Squid/Vanish代理缓存服务的前置代理缓存
普通静态页面上万并发无压力
原理:图片存储到专门的服务器,独立于web服务器。
5、数据库主从读写分离
解决方式:mycat
优势:分担数据库压力,不用在程序端实现
原理:可配只写主库,多个读库负载均衡(按片)
6、tomcat集群Session共享
解决方式:MSM(memcached-session-manager)或redis
优势:解决轮询请求访问不同tomcat应用后sessionId不一致问题
原理:使用memcached保存公共session信息。
7、负载均衡
解决方式:nginx
反向代理模块proxy_pass
负载均衡模块upstream
页面缓存proxy_cache_path
URL重写rewrite
读写分离dav(页面操作如指定只能某台服务器能上传图片)
8、搜索引擎
解决方式:Elasticsearch、Solr、Lucene
优势:数据库连接有限、查询快
9、分布式系统间rpc调用
解决方式:Dubbo
10、系统间异步通信
解决方式:ActiveMQ
11、分库分表
解决方式:mycat
12、LVS(Linux Virtual Server,Linux虚拟服务器):
一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术。
调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。