<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
  <channel>
    <title><![CDATA[振华博客]]></title> 
    <link>http://www.zhenhua.org/</link> 
    <description><![CDATA[振华博客,振华's blog]]></description> 
    <language>UTF-8</language> 
    <copyright><![CDATA[Copyright 2010, 振华博客]]></copyright> 
    <webMaster><![CDATA[zenhua@gmail.com (振华)]]></webMaster> 
    <generator>LBS v2.0.313</generator> 
    <pubDate>Tue, 07 Sep 2010 20:45:44 +0800</pubDate> 
    <ttl>60</ttl>
  
    <item>
      <title><![CDATA[WEB性能提升规则 High Performance Web Sites]]></title> 
      <link><![CDATA[http://www.zhenhua.org/article.asp?id=702]]></link> 
      <category><![CDATA[架构设计]]></category> 
      <author><![CDATA[振华 <null@null.com>]]></author> 
      <pubDate>Tue, 27 Apr 2010 12:33:38 +0800</pubDate> 
      <description><![CDATA[High Performance Web Sites - yahoo14条<br /><br />由谁提出的<br />    来自Yahoo! Exceptional Performance team<br /><br />什么时候开始发起的<br />    2004年开始研究，2007年4月开始，陆续发布,(5月,7月,9月)<br /><br />为什么<br />    Yahoo希望对自己的产品性能做出一些测量和改善<br /><br />成绩<br />    总结出14条提升WEB产品性能的准则（后续21条）<br /><br /> <br /><br />第一条：最小化HTTP请求(Frontend)<br /><br />    将CSS文件和JS文件合并（可行性不高）<br />    CSS Sprites<br />    Image Maps(很久以前经常使用的“热区”)<br />    Inline Images,data:URL（浏览器兼容问题）<br /><br />    每天大概有40-60%的访问者去到我们的站点的时候都是empty cache，所以，<br />    我们如果能够使得他们在第一次访问时速度更快，那对他们来说将获得很好的体验。<br /><br /> <br /><br />第二条：使用内容分发网络 (Server)<br /><br />    将静态文件分发到其他独立的服务器上。<br />    目的：使得用户可以就近获取到]]></description>
      <wfw:commentRss><![CDATA[http://www.zhenhua.org/feed.asp?q=comment&id=702]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[MVC模式已死]]></title> 
      <link><![CDATA[http://www.zhenhua.org/article.asp?id=701]]></link> 
      <category><![CDATA[架构设计]]></category> 
      <author><![CDATA[振华 <null@null.com>]]></author> 
      <pubDate>Wed, 21 Apr 2010 19:17:17 +0800</pubDate> 
      <description><![CDATA[MVC模式:Model模型 View试图 Control控制器，是目前主流模式，被当作服务器软件入门基本模式学习和掌握，主流框架Struts 1/2 JSF Wicket基本都顺理成章支持MVC模式。<br /><br />但是，随着时间推移，MVC模式也暴露出大量缺点，因为MVC模式本质上是一个结构型模式，结构模式相比行为模式而言，实际就是静止的，相对固定的，而随着B/S和互联网应用不断普及，Web 2.0和社会化媒体 以及游戏等大量频繁交互应用普及，相对静止的MVC模式已经不适合高度交互注重行为的应用了。<br /><br />DDD领域建模本身比较重视结构，它的实体 值对象和服务器是也是一种结构划分，但是没有强调对象职责行为的重要性，而这是对象和数据库唯一的区别，当然其上下文场景概念的提出，也可以认为体现了对角色和场景的重视，但远远不够。<br /><br />相反，对象设计：角色、责任和协作&quot;(Object Design: Roles, Responsibilities, and Collaborations))一书提出职责驱动开发，将对象行为上升为重点，提出了对象其实是在扮演某种角色，而角色是有职责的，然后会在一定场景上下文环境中实施一定交互行为，这些已经在Jdon进行了充分讨论：<br />]]></description>
      <wfw:commentRss><![CDATA[http://www.zhenhua.org/feed.asp?q=comment&id=701]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[struts2 与 Spring MVC比较]]></title> 
      <link><![CDATA[http://www.zhenhua.org/article.asp?id=700]]></link> 
      <category><![CDATA[架构设计]]></category> 
      <author><![CDATA[振华 <null@null.com>]]></author> 
      <pubDate>Sat, 17 Apr 2010 21:26:51 +0800</pubDate> 
      <description><![CDATA[struts2框架是类级别的拦截，每次来了请求就创建一个Action，然后调用setter getter方法把request中的数据注入 <br />struts2实际上是通过setter getter方法与request打交道的 <br />struts2中，一个Action对象对应一个request上下文 <br /><br />spring3 mvc不同，spring3mvc是方法级别的拦截，拦截到方法后根据参数上的注解，把request数据注入进去 <br />在spring3mvc中，一个方法对应一个request上下文 <br /><br />好了 我们来整理一下 <br />struts2是类级别的拦截， 一个类对应一个request上下文， <br />springmvc是方法级别的拦截，一个方法对应一个request上下文，而方法同时又跟一个url对应 <br />所以说从架构本身上 spring3 mvc就容易实现restful url <br />而struts2的架构实现起来要费劲 <br />因为struts2 action的一个方法可以对应一个url <br />而其类属性却被所有方法共享，这也就无法用注解或其他方式标识其所属方法了 <br /><br />=================================== <br />]]></description>
      <wfw:commentRss><![CDATA[http://www.zhenhua.org/feed.asp?q=comment&id=700]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[SNS好友动态设计]]></title> 
      <link><![CDATA[http://www.zhenhua.org/article.asp?id=696]]></link> 
      <category><![CDATA[架构设计]]></category> 
      <author><![CDATA[振华 <null@null.com>]]></author> 
      <pubDate>Tue, 05 Jan 2010 20:43:36 +0800</pubDate> 
      <description><![CDATA[参考<br /><a href="http://www.javaeye.com/topic/176677?page=1" title="http://www.javaeye.com/topic/176677?page=1" target="_blank">http://www.javaeye.com/topic/176677?page=1</a><br /><br />跨应用Session共享<br /><a href="http://oiote.blog.sohu.com/94812998.html" title="http://oiote.blog.sohu.com/94812998.html" target="_blank">http://oiote.blog.sohu.com/94812998.html</a>]]></description>
      <wfw:commentRss><![CDATA[http://www.zhenhua.org/feed.asp?q=comment&id=696]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[开心网系统架构分析]]></title> 
      <link><![CDATA[http://www.zhenhua.org/article.asp?id=692]]></link> 
      <category><![CDATA[架构设计]]></category> 
      <author><![CDATA[振华 <null@null.com>]]></author> 
      <pubDate>Sat, 31 Oct 2009 17:04:10 +0800</pubDate> 
      <description><![CDATA[开心网是一个人气蛮高的sns社区，虽然在走下坡路了，在国内依然算是顶尖了，今天我们就来分析一下开心网的设计架构是怎样的。因为手头没有这方面的资料，也没有和开心网的程序员有过什么交流，所以今天所写的一切都是自己的猜测而已。不能对号入座。<br /><br />关于开心网的系统架构分析<br /><br /><b>一．入口篇</b><br />   从http://www.kaixin001.com/，从这个页面可以看到，开心网的图片，是放在http://img.kaixin001.com上的，做了程序与图片的分离（http://www.kaixin001.com/i...这个不知为什么没有分离）。<br />   下面来看一下开心网前端的服务器情况，nslookup一下，可以看到，一共有下面的17个IP<br />220.181.66.138，123.103.12.24，123.103.12.25，123.103.12.26，123.103.12.27<br />123.103.12.28，123.103.12.36，123.103.12.37，123.103.12.38，123.103.12.39<br />123.103.101.98，123.103.101.107，12]]></description>
      <wfw:commentRss><![CDATA[http://www.zhenhua.org/feed.asp?q=comment&id=692]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[网站架构收集]]></title> 
      <link><![CDATA[http://www.zhenhua.org/article.asp?id=691]]></link> 
      <category><![CDATA[架构设计]]></category> 
      <author><![CDATA[振华 <null@null.com>]]></author> 
      <pubDate>Sat, 31 Oct 2009 00:11:22 +0800</pubDate> 
      <description><![CDATA[网站架构收集<br /><br />来自sudone.com 服务器系统架构分析日志<br />csdn.net的系统架构研究 <a href="http://sudone.com/archie/csdn_archive.html" title="http://sudone.com/archie/csdn_archive.html" target="_blank">http://sudone.com/archie/csdn_archive.html</a><br />图片服务器的hash架构 <a href="http://sudone.com/archie/image_hash.html" title="http://sudone.com/archie/image_hash.html" target="_blank">http://sudone.com/archie/image_hash.html</a><br />天涯bbs系统架构分析 <a href="http://sudone.com/archie/tianya.cn.html" title="http://sudone.com/archie/tianya.cn.html" target="_blank">http://sudone.com/archie/tianya.cn.html</a><br />v.2008.163.com对新架构的尝试 <a href="http://sudone.com/archie/v.2008.163.com.html" title="http://sudone.com/archie/v.2008.163.com.html" target="_blank">http://sudone.com/archie/v.2008.163.com.html</a><br />nginx和squid配合搭建的web服务器前端系统 <a href="http://sudone.com/archie/app_nginx_squid.html" title="http://sudone.com/archie/app_nginx_squid.html" target="_blank">http://sudone.com/archie/app_nginx_squid.html</a><br />nginx作为最前端的web cache系统 <a href="http://sudone.com/archie/app-nginx-squid-nginx.html" title="http://sudone.com/archie/app-nginx-squid-nginx.html" target="_blank">http://sudone.com/archie/app-nginx-squid-nginx.html</a><br />新型的大型bbs架构（squid+nginx） <a href="http://sudone.com/archie/archi_bbs.html" title="http://sudone.com/archie/archi_bbs.html" target="_blank">http://sudone.com/archie/archi_bbs.html</a><br />当前比较适用的海量小文件系统架构方案 ]]></description>
      <wfw:commentRss><![CDATA[http://www.zhenhua.org/feed.asp?q=comment&id=691]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[页面加载对访问的影响]]></title> 
      <link><![CDATA[http://www.zhenhua.org/article.asp?id=688]]></link> 
      <category><![CDATA[架构设计]]></category> 
      <author><![CDATA[振华 <null@null.com>]]></author> 
      <pubDate>Fri, 30 Oct 2009 23:43:51 +0800</pubDate> 
      <description><![CDATA[页面访问慢是网站公认的死穴，如果页面都没法访问，往后再精彩的体验都等于零。这个问题如果专业点说，叫做“加载”呈现效率。那么具体了讲，除常规的服务器处理速度、服务器端网络带宽、客户端网络带宽等“硬”问题外，有哪些是技术上没处理好的“软”问题？<br /><br />举个例子，某页面浏览到一个地方卡住了，至少要等十几秒才出来内容。排查原因，浏览其他网站页面很快，说明客户端网络带宽没问题；浏览同个服务器上其他网站页面都很快，说明服务器的处理速度和网络带宽也没问题。分析代码可能有好几种情况，在<a href="http://developer.yahoo.com/performance/rules.html" title="http://developer.yahoo.com/performance/rules.html" target="_blank">YUI官方加速网站</a>的最佳办法提到了13条方法，对于普通产品来说，个人认为有几条应该强化注意，其他（灰色）从性价比上来说则成本有点高。<ul class="ubb-list" ><li><b>Make Fewer HTTP Requests 更少的HTTP请求</b></li><li>Use a Content Delivery Network 使用CDN</li><li>Add an Expires Header 指定过期时间</li></ul>]]></description>
      <wfw:commentRss><![CDATA[http://www.zhenhua.org/feed.asp?q=comment&id=688]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[Struts 标签与JSP效率对比]]></title> 
      <link><![CDATA[http://www.zhenhua.org/article.asp?id=687]]></link> 
      <category><![CDATA[架构设计]]></category> 
      <author><![CDATA[振华 <null@null.com>]]></author> 
      <pubDate>Fri, 30 Oct 2009 23:40:12 +0800</pubDate> 
      <description><![CDATA[先将Struts标签与JSP的代码进行比较<br /><br />1.JSP版本<div class="code">&nbsp;&lt; % long s=System.currentTimeMillis();%&gt;<br />&lt; SPAN style=&quot;DISPLAY: none&quot;&gt;<br /><br />&lt; % for(int i=0;i&lt;10000;i++){%&gt;<br /><br />&lt; %=theAction.getQueryString()%&gt;<br /><br />&lt; %}%&gt;<br /><br />&lt; /SPAN&gt;<br /><br />&lt; % long e=System.currentTimeMillis();%&gt;<br /><br />&lt; %=(e-s)%&gt;</div>2.webwork (webwork版本，也可换成Struts标签)<div class="code">&nbsp;&lt; % long s=System.currentTimeMillis();%&gt;<br />&lt; % for(int i=0;i&lt;10000;i++){%&gt;<br /><br />&lt; ?xml:namespace prefix = ww /&gt;&lt; ?xml:namespace prefix = ww /&gt;<br /><br />&lt; %}%&gt;<br /><br />&lt; /SPAN&gt;<br /><br />&lt; % long e=System.currentTimeMillis();%&gt;<br /><br />&lt; %=(e-s)%&gt;</div>]]></description>
      <wfw:commentRss><![CDATA[http://www.zhenhua.org/feed.asp?q=comment&id=687]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[web架构设计经验分享]]></title> 
      <link><![CDATA[http://www.zhenhua.org/article.asp?id=686]]></link> 
      <category><![CDATA[架构设计]]></category> 
      <author><![CDATA[振华 <null@null.com>]]></author> 
      <pubDate>Wed, 21 Oct 2009 13:16:27 +0800</pubDate> 
      <description><![CDATA[转自http://blog.csdn.net/yizhu2000<br /> <br /> <br />本人作为一位web工程师，着眼最多之处莫过于 性能与架构，本次幸得参与sd2.0大会，得以与同行广泛交流,于此二方面，有些心得，不敢独享，与众博友分享，本文是这次参会与众同撩交流的心得，有兴趣者可以查看视频<br />架构设计的几个心得：<br /><br /><b>一，不要过设计：never over design</b><br /><br />这是一个常常被提及的话题，但是只要想想你的架构里有多少功能是根本没有用到，或者最后废弃的，就能明白其重要性了，初涉架构设计，往往倾向于设计大而化一的架构，希望设计出具有无比扩展性，能适应一切需求的增加架构，web开发领域是个非常动态的过程，我们很难预测下个星期的变化，而又需要对变化做出最快最有效的响应。。<br />ebay的工程师说过，他们的架构设计从来都不能满足系统的增长，所以他们的系统永远都在推翻重做。请注意，不是ebay架构师的能力有问题，他们设计的架构总是建立旧版本的瓶颈上，希望通过新的架构带来突破，然而新架构带来的突破总是在很短的时间内就被新增需求淹没，于是他们不得不又使用新的架构<br />web开发，是个非常敏捷的过程，变]]></description>
      <wfw:commentRss><![CDATA[http://www.zhenhua.org/feed.asp?q=comment&id=686]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[数据库水平切分的实现原理解析－分库，分表，主从，集群，负载均衡器]]></title> 
      <link><![CDATA[http://www.zhenhua.org/article.asp?id=685]]></link> 
      <category><![CDATA[架构设计]]></category> 
      <author><![CDATA[振华 <null@null.com>]]></author> 
      <pubDate>Wed, 21 Oct 2009 13:05:04 +0800</pubDate> 
      <description><![CDATA[<b>关键字: 水平切分，分库，分表，主从，集群</b><br />第1章  引言<br />随着互联网应用的广泛普及，海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的 互联网应用，每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能，横向扩展数据层 已经成为架构研发人员首选的方式。水平切分数据库，可以降低单台机器的负载，同时最大限度的降低了了宕机造成的损失。通过负载均衡策略，有效的降低了单台 机器的访问负载，降低了宕机的可能性；通过集群方案，解决了数据库宕机带来的单点数据库不能访问的问题；通过读写分离策略更是最大限度了提高了应用中读取 （Read）数据的速度和并发量。目前国内的大型互联网应用中，大量的采用了这样的数据切分方案，Taobao,Alibaba,Tencent，它们大 都实现了自己的分布式数据访问层（DDAL）。以实现方式和实现的层次来划分，大概分为两个层次（Java应用为例）：JDBC层的封装，ORM框架层的 实现。就JDBC层的直接封装而言，现在国内发展较好的一个项目是被称作“变形虫”(Amoeba)的项目，由阿里集团的研究院开发，现在仍然处于测试阶 ]]></description>
      <wfw:commentRss><![CDATA[http://www.zhenhua.org/feed.asp?q=comment&id=685]]></wfw:commentRss>
    </item>
      
  </channel>
</rss>
