收藏私塾在线
 

欢迎您来到私塾在线网!   

请登录! 

免费注册 


zhang的笔记
状态: 离线
人气:5023381
访问用户量:4221
笔记经验:
总积分:261656
级别:VIP5
搜索本笔记
ta的交流分类
ta的交流主题贴(544)
ta的所有交流贴(1049)
ta的全部笔记
全部笔记(255)
未分类笔记(1)
Java Web(9)
并发实践(1)
课程问题(0)
Java(22)
架构(1)
缓存(5)
JavaEE(0)
JVM(12)
跟我学spring3(68)
Spring Sec……(43)
Spring 3.x……(25)
Spring Sec……(20)
跟开涛学Spring……(17)
深入剖析Spring……(18)
性能调优(10)
前端(2)
Tomcat源码解读(1)
spring sec……(0)
存档
2014-01(7)
2013-12(10)
2012-10(4)
2012-09(2)
2012-08(31)
2012-07(10)
2012-06(5)
2012-05(41)
2012-04(3)
2012-03(41)
2012-02(54)
2011-11(17)
2011-10(30)

2015-06-10 22:47:09
小张老师之整理大型网站架构演变和知识体系
浏览(17565)|评论(9)   交流分类:Java|笔记分类: 架构

1、架构演变第一步:物理分离webserver和数据库

 

2、架构演变第二步:增加页面缓存

      如用squid做页面缓存,或生产静态页面,不使用jsp

 

3、架构演变第三步:增加页面片段缓存

      页面缓存失效情况比较多,因此可以使用页面片段缓存,只缓存不长变部分。

 

 

4、架构演变第四步:数据缓存:缓存那些读多写少的数据。最常见的就是用户数据。如java中单JVM级/集群级缓存(Ehcache)、分布式缓存(memcached)等。

 

 

 

5、架构演变第五步: 增加webserver(集群web server):考虑负载均衡(apache的负载均衡,LVS负载均衡、F5硬件级负载均衡),数据缓存需要考虑使分布式缓存(memcached

 

6、架构演变第六步:分库:按业务将不同业务分为不同的库,部署到不同的服务器上,如用户系统单独一台、论坛等其他每个产品一台。

 

 

7、架构演变第七步:分表、DAL和分布式缓存:按照分库思想分表,需要注意一些规则。如用户系统设计时,把不经常访问的数据放到一张表(需要时加载)。DALData Access Layer):分布式数据访问层,使分表透明化,自动切表。DAL涉及到比较多的复杂技术,例如数据库连接的管理(超时、异常)、数据库操作的控制(超时、异常)、分库分表规则的封装等;

 

 

8、架构演变第八步:增加更多的webserverweb服务器禁止使用session,数据可存分布式缓存

 

9、架构演变第九步:数据读写分离和廉价存储方案:如使用NoSql(key-value数据库,mongodb等),数据读写分离要求对数据库的复制、standby(可将单实例数据库升级到RAC

 

 

(real application clusters 实时应用集群)数据库)等策略有深入的掌握和理解,同时会要求具备自行实现的技术;

 

 

 

 

10架构演变第十步:进入大型分布式应用时代和廉价服务器群梦想时代

 

 

 

 

 

七种缓存使用武器 为网站应用和访问加速发布时间:

Web应用中缓存的七种武器:

1 数据库的缓存

  通常数据库都支持对查询结果的缓存,并且有复杂的机制保证缓存的有效性。对于MySQL,Oracle这样的数据库,通过合理配置缓存对系统性能带来的提升是相当显著的。

 

2 数据连接驱动的缓存。

  诸如PHP的ADODB,J2EE的连接驱动,甚至如果把HIbernate等ORM也看成连接器的话。这里的缓存有效机制就不是那么强了,使用此步的方法实现缓存的一个最好的优点就是我们取数据的方式可以保持不变。例如,我调用

$db->CacheGetAll("select * from table"); 的语句不需要改变,可以透明实现缓存。这主要应用于一些变化不大的数据上,例如一些数据字典是不经常变化的。

 

3 系统级的缓存

  可以在系统内通过Cache库,自行对需要的数据进行缓存,例如一个树桩菜单生成十分消耗资源,那可以将这个生成的树缓存起来。这样做的缺点是,当这颗树的某些地方被更新时,你需要手动更新缓存内的东西。使用的缓存库都可以有不同的缓存方法,有的把内容放在硬盘上,有的放在内存里面,如果你把内容模拟成硬盘来缓存,速度当然也能提升不少。

4 页面级的缓存

  这个在内容管理系统里面用的最多。也就是生成静态页面。这里面缓存控制机制最为复杂,一般也没有什么包治百病的方法,只有具体情况具体分析。通常生成的静态叶面你需要有一个机制去删除过时的,或访问很少的叶面,以保证检索静态叶面的速度。

5 使用预编译叶面和加载为FastCGI的办法

  对于PHP,可以使用zend等编译引擎,对于JSP本身就是预编译。而FastCGI的原理就是将脚本预先加载起来,不用每次执行都去读,这和JSP预编成Servlet,然后加载的道理是一样的。

6 前置缓存

  可以使用Squid作为Web服务器的前置缓存。

7 做集群

  对数据库作集群,对web服务器作集群,对Squild前置机做集群

  对于新手来说,如果你的程序要是恰死,首先你要检查代码是否有错误,是否存在内存泄漏,如果都没有,那么通常问题出在数据库连接上面。

  综合应用上面的缓存方法,开发高负载的Web应用成就很容易了。

 

web软件设计时考虑你的性能解决方案

* 关键准则:

 1. 选择什么编程语言不是问题

 2. 选择的框架才可能影响系统的扩展和性能

 3. 我倾向于以数据库为中心设计数据结构。

 4.  分从两个方面提升性能:

  1) . 软件设计方面

        * 网页静态化

        * 独立的图片服务器

        * 可能采用中间缓存层服务器,最可能采用第三方成熟的软件

        * 数据库分表(水平分割是最终方案)

  2).  系统、网络、硬件结构

        * 集群:数据库集群,WEB集群

        * 采用:SAN

        * 提升网络接入带宽

      

影响性能的因素有哪些?其实只有下面几个方面:

1.持久性数据查找速度

2.持久性数据读写速度

3.逻辑复杂度

4.物理内存不够导致的虚拟存储频繁交换.

对应的解决方法:

1.建立最合适的索引,建立缓存

2.建立缓存,升级硬件

3.精简,优化逻辑

4.减少内存使用。

 

 

 

 



 

 

精品视频课程推荐

透彻理解JavaBean视频教程
深入浅出的讲解JavaBen的写法、JavaBean的用法、JavaBean的实现机制、JavaBean对应翻译的代码理解。

Java数据结构和算法精讲版
本课程专注于数据结构和算法的内容,使用Java来进行代码示例,不空洞的讲解概念和理论,重点放在代码的实现和示例上。 从零开始、全面系统、成体系的讲解数据结构和基本算法,循序渐进的讲述构建软件系统所常见的数据结构和算法。

Ajax+JSON基础实战视频教程
数据校验、Javascript模拟多线程、下拉列表联动、操作XML、AJAX结合JSON的操作、Json-lib的使用

深入浅出学Spring Web MVC视频教程
系统、完整的学习Spring Web MVC开发的知识。包括:Spring Web MVC入门;理解DispatcherServlet;注解式控制器开发详解;数据类型转换;数据格式化;数据验证; 拦截器;对Ajax的支持;文件上传下载;表单标签等内容;最后以一个综合的CRUD带翻页的应用示例来综合所学的知识

Weblogic实战视频教程
WebLogic基础知识:WebLogic基本概念、正确安装WebLogic、建域、应用部署于JDBC选择、对WebLogic的监控和日志查看、集群的高可用性;课程目标:彻底掌握WebLogic的基本概念,在理解基本概念的基础上做到正确的安装WebLogic,根据不同的需求创建域,合理选择应用部署和JDBC配置。熟练掌握WebLogic的console监控,了解各种性能和运行指标,以及对监控结果的分析,运用集群的高可用性,对集群架设。

浏览(17565)|评论(9)   交流分类:Java|笔记分类: 架构

评论(9)
9楼 猎狐战神  2015-06-10 引用

学习了,页面缓存怎么做的?

8楼 bingtangxueli  2012-11-26 引用

顶起!!!

7楼 tomdog  2012-11-03 引用

 

kingroc写

可以开个视频讲座啊!

 我顶你啊!

6楼 kingroc  2012-11-03 引用

可以开个视频讲座啊!

5楼 tomdog  2012-11-01 引用
小张现在讲课主要讲哪一块东东?
4楼 1234huxian  2012-11-01 引用

嗯,感谢小张老师

3楼 bipolor  2012-10-19 引用

学习ing!

2楼 wujingtianze  2012-04-27 引用

这么好的文章,居然只有一个回复,天理何在啊!!!

1楼 wuyaxuan  2011-10-31 引用

小张老师写的必须顶啊

请登录后评论 登录

关于我们 | 联系我们 | 用户协议 | 私塾在线服务协议 | 版权声明 | 隐私保护

版权所有 Copyright(C)2009-2012 私塾在线学习网