﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-在路上-随笔分类-Architecture</title><link>http://www.blogjava.net/gumingcn/category/44168.html</link><description>路上有惊慌，路上有理想</description><language>zh-cn</language><lastBuildDate>Thu, 11 Nov 2010 17:04:16 GMT</lastBuildDate><pubDate>Thu, 11 Nov 2010 17:04:16 GMT</pubDate><ttl>60</ttl><item><title>weblogic集群实现</title><link>http://www.blogjava.net/gumingcn/archive/2010/09/01/330612.html</link><dc:creator>阮步兵</dc:creator><author>阮步兵</author><pubDate>Wed, 01 Sep 2010 13:58:00 GMT</pubDate><guid>http://www.blogjava.net/gumingcn/archive/2010/09/01/330612.html</guid><wfw:comment>http://www.blogjava.net/gumingcn/comments/330612.html</wfw:comment><comments>http://www.blogjava.net/gumingcn/archive/2010/09/01/330612.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gumingcn/comments/commentRss/330612.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gumingcn/services/trackbacks/330612.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;                                    Weblogic server                                    端口号&nbsp;                                    内存分配&nbsp;                            ...&nbsp;&nbsp;<a href='http://www.blogjava.net/gumingcn/archive/2010/09/01/330612.html'>阅读全文</a><img src ="http://www.blogjava.net/gumingcn/aggbug/330612.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gumingcn/" target="_blank">阮步兵</a> 2010-09-01 21:58 <a href="http://www.blogjava.net/gumingcn/archive/2010/09/01/330612.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]基于Apache Roller的数据延时更新示例</title><link>http://www.blogjava.net/gumingcn/archive/2010/02/27/314063.html</link><dc:creator>阮步兵</dc:creator><author>阮步兵</author><pubDate>Sat, 27 Feb 2010 07:38:00 GMT</pubDate><guid>http://www.blogjava.net/gumingcn/archive/2010/02/27/314063.html</guid><wfw:comment>http://www.blogjava.net/gumingcn/comments/314063.html</wfw:comment><comments>http://www.blogjava.net/gumingcn/archive/2010/02/27/314063.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gumingcn/comments/commentRss/314063.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gumingcn/services/trackbacks/314063.html</trackback:ping><description><![CDATA[&nbsp;&nbsp; ——Apache Roller源码分析
<p>&nbsp;&nbsp;&nbsp; 系统中，某些DB数据需要频繁更新,但实时性不强，可以采用延时更新的方式。设定一个间隔时间，累计更新数据，再通过特定的work
thread统一更新。Apache Roller这个开源的Java Blog 正是才用了这种方式，实现站点计数的延时更新。</p>
<p>&nbsp;&nbsp; 优点：减少了数据库的一部分压力。尤其是在高并发下，数据库I/O及并发处理的压力</p>
<p>&nbsp;&nbsp; 缺点：实效性差，用户在某个时间点内获取的数据不准确。</p>
<p>&nbsp;&nbsp; 附图为 实现数据延时更新的Class Diagram</p>
&nbsp;&nbsp;&nbsp; <br />
<p>&nbsp;<img alt="" src="http://www.blogjava.net/images/blogjava_net/gumingcn/resource_10724431264825754m.jpg" height="763" width="849" /></p>
<p>&nbsp;说明:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; HitCountQueue.java 为站点计数队列，singleton instance，通过processHit
方法添加站点计数，通过resetHits方法清空Queue，为防止同步问题，增加了synchronized。在其构造函数内，会启动一个
workThread实例，完成队列数据到数据库的持久化工作。</p>
<p>&nbsp;&nbsp;&nbsp; Job interface 为任务接口</p>
<p>&nbsp;&nbsp;&nbsp; HitCountProcessingJob.java 实现了Job接口，完成数据更新的任务。</p>
<p>&nbsp;&nbsp;&nbsp; WorkerThread.java
执行Job的工作线程，ContinuousWorkerThread继承自WorkerThread，增加了时间间隔的功能。线程执行后，会sleep
指定的时间。</p>
<img src ="http://www.blogjava.net/gumingcn/aggbug/314063.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gumingcn/" target="_blank">阮步兵</a> 2010-02-27 15:38 <a href="http://www.blogjava.net/gumingcn/archive/2010/02/27/314063.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>