Archive for July, 2009
Useing Memcached
Jul 30th
翻译:Useing Memcached
如何轻而易举的扩充你的网站
作者:Josef Finel
原文地址:http://books.pragprog.com/titles/memcd/reorder
1 介绍
2 Memcached是什么?
过去的一周时间里,我们都在讨论的核心是一个分布式内存缓存系统。实际上,我们把经常使用的LiveJournal对象都放到一大堆服务器的内存里。这些对象可以是用户信息,登录信息,颜色,样式,日记条目,意见,网站文字,等任何东西……
今天,Memcached被许多大型站点使用,包括Flickr,Slashdot,Wikipedia和Facebook,这只是一小部分。但是Memcached到底是什么?一个站点怎样从Memcached中受益呢?以下,我们将继续探索这些问题
Twitter的IP更新了
Jul 29th
在你的
C:\WINDOWS\system32\drivers\etc\hosts
168.143.161.20 twitter.com
168.143.161.20 www.twitter.com
128.121.146.229 assets0.twitter.com
128.121.146.229 assets1.twitter.com
128.121.146.101 static.twitter.com
128.121.146.229 assets2.twitter.com
128.121.146.229 assets3.twitter.com
65.74.185.41 twitter.zendesk.com
65.74.185.41 help.twitter.com
168.143.162.107 search.twitter.com
Windows环境下的项目环境搭建(Tomcat+Apache+Memcached+ActiveMQ+MySQL)
Jul 26th
首先到 http://labs.xiaonei.com/apache-mirror/ 下载相关的软件。
http://labs.xiaonei.com/apache-mirror/activemq/apache-activemq/5.2.0/apache-activemq-5.2.0-bin.zip 这个软件现在不用,不过以
后会用的。
http://labs.xiaonei.com/apache-mirror/httpd/binaries/win32/apache_2.2.11-win32-x86-no_ssl.msi
http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.exe
http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/mod_jk-1.2.28-httpd-2.2.3.so
http://www.splinedancer.com/memcached-win32/memcached-1.2.4-Win32-Preview-20080309_bin.zip 这个软件以后也会用
现在这几个软件被安装在以下目录
D:\Program Files\Apache Software Foundation\Tomcat 6.0
D:\Program Files\Apache Software Foundation\Apache2.2
D:\Program Files\Apache Software Foundation\apache-activemq-5.2.0
首先把mod_jk-1.2.28-httpd-2.2.3.so文件复制到
D:\Program Files\Apache Software Foundation\Apache2.2\modules
改名为mod_jk.so
再在
D:\Program Files\Apache Software Foundation\Apache2.2\conf
创建文件
workers.properties
内容为
workers.tomcat_home=D:\Program Files\Apache Software Foundation\Tomcat 6.0
workers.java_home=D:\Program Files\Java\jdk
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
然后在文件D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf 找到
LoadModule rewrite_module modules/mod_rewrite.so
去掉前面的#号
再添加
LoadModule jk_module modules/mod_jk.so
在文件的最后添加
JkWorkersFile “D:\Program Files\Apache Software Foundation\Apache2.2\conf\workers.properties”
JkLogFile “D:\Program Files\Apache Software Foundation\Apache2.2\logs\mod_jk2.log”
JkLogLevel inf
<VirtualHost *:80> DocumentRoot "D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\iguoer" ServerName www.iguoer.com DirectoryIndex index.html index.htm index.jsp ErrorLog logs/shsc-error_log.txt CustomLog logs/shsc-access_log.txt common JkMount /dwr/* ajp13 JkMount /*.jsp ajp13 JkMount /*.do ajp13 </VirtualHost>
现在去配置Tomcat
找到文件
D:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\server.xml
如果你安装的Tomcat和我的版本是一样的话,在文件的最后面应该可以找到
<Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> </Engine>
我修改为
<Engine name="Catalina" defaultHost="www.iguoer.com"> <Host name="www.iguoer.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="iguoer" reloadable="true" /> </Host> </Engine>
修改这段后,此时Tomcat的根目录为
D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\iguoer
这样用Eclipse的插件,就能启动项目为根目录启动了。
当然还可以配置不同域名访问不同目录
<Engine name="Catalina" defaultHost="www.iguoer.com"> <Host name="www.iguoer.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="iguoer" reloadable="true" /> </Host> <Host name="img.iguoer.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\iguoer" reloadable="true" /> </Host> </Engine>
当然不要忘记修改你的C:\Windows\System32\drivers\etc\hosts
127.0.0.1 www.iguoer.com
127.0.0.1 img.iguoer.com
127.0.0.1 memcached.iguoer.com
127.0.0.1 mysql.iguoer.com
127.0.0.1 mq.igueor.com
MySQL的几条管理命令
Jul 21st
SHOW INDEX FROM `tbl_name`;
抛弃在Hibernate的二级缓存使用Memcached
Jul 19th
Memcached就像一个调皮的精灵,在你困难的时候,他会跳出来帮你一把,那绝对是雪中送。
不过,也如精灵的天性一样,喜欢冲破任何约束,感觉都不太可靠。
在Hibernate的二级缓存加上Memcached,似乎是把这个精灵捆住了,也正因为如此,Memcached不再是Memcached了。
扔掉这种想法吧,如果你使用了Memcached,就要做好他上窜下窜的准备,这就是他的魅力。
根据Spring注释确定包命名规则
Jul 19th
包的命名规则很多,说法也很多,但再怎么变也脱离不了三层架构这一说法,至少目前可以这么说。
在说新的规则之前,先说下我熟悉的老的命名规则。
表现层命名为:com.iguoer.web
如果使用Struts的话,会命名为:com.iguoer.web.action
如果使用Spring MVC的话,会命名为:com.iguoer.web.controller
业务层一般命名有两种
com.iguoer.service 和 com.iguoer.business
数据层一般命名为:com.iguoer.dao
使用hibernate的话,就有com.iguoer.dao.hibernate
根据有些解释三层架构的图上说,穿越三层的是一个叫domain域的东西,所以就有了
com.iguoer.domain
实体被称为持久化对象
所以有了com.iguoer.domain.po
组装后给页面有值对象,所以有了com.iguoer.domain.vo
一般工具类被放在com.iguoer.util中
应用程序放在com.iguoer.app中
我现在根据Spring的注释,重新写一个包的命名,当然这首先建立在你对三层架构的熟悉上。
com.iguoer.app 应用程序
com.iguoer.combo 组合对象,传给页面,相当于com.iguoer.domain.vo
com.iguoer.controller MVC中的控制,Spring的注释@controller
com.iguoer.controller.admin 管理员表现层
com.iguoer.controller.filter 表现层的过滤器
com.iguoer.entity 实体,相当于com.iguoer.domain.po Spring的注释@entity
com.iguoer.repository 储藏室,相当于数据层,类似com.iguoer.dao Spring的注释@repository
com.iguoer.security 保密包,说明这里的东西尤为重要
com.iguoer.service 业务层,服务层,相当于com.iguoer.business Spring的注释@service
com.iguoer.util 工具类
注:上面所说的表现层,其实指的只是MVC设计模式中的控制
项目开发部署
Jul 18th
1、下载开发工具
1> Eclipse
下载开发工具eclipse-jee-ganymede(
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR2/eclipse-jee-ganymede-SR2-win32.zip)解压到 D:\Program Files\eclipse-ganymede
http://download.actuatechina.com/eclipse/technology/epp/downloads/release/ganymede/SR2/eclipse-jee-ganymede-SR2-win32.zip
选择workspace目录为D:\workspace
2> Resin
http://www.caucho.com/download/
http://www.caucho.com/download/resin-3.1.8.zip
3> nginx
http://nginx.net/
http://sysoev.ru/nginx/nginx-0.7.61.zip
4> mysql
Windows MSI Installer (x86)
http://www.mysql.com/
http://dev.mysql.com/downloads/mysql/5.0.html#win32
http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.0/mysql-5.0.83-win32.zip
http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQLGUITools/mysql-gui-tools-5.0-r17-win32.msi
5>memcached for win32
http://www.splinedancer.com/memcached-win32/
2、Eclipse插件下载地址
1> Hibernate Tools
#http://download.jboss.org/jbosstools/updates/development
http://download.jboss.org/jbosstools/updates/stable/
选择安装
#Tools Development Release和Hibernate Tools
FreeMarker IDE
Hibernate Tools
2> Spring IDE
http://springide.org/updatesite
3> SVN
http://subclipse.tigris.org/update_1.6.x
4> Javascript
http://download.macromedia.com/pub/labs/jseclipse/autoinstall/
以下是项目辅助的插件
5> checkstyle
http://eclipse-cs.sourceforge.net/update
6> findbug
http://findbugs.cs.umd.edu/eclipse
XX的优点
Jul 16th
- 异步消息机制处理用户动态
- 点击数用日志统计
- Squid+Memcached缓存机制(及时刷新)
- 读写分离(*)
- 索引文件伪静态实现半动态化(延时刷新)
- 使用Javascript框架(jQuery)实现页面效果
- 目录采用树形结构(树路径)-自定义目录
- 容许一定数据的冗余(不能是排序或搜索数据)。