7×24小时不间断服务
对于互联网服务而言,大部分都要求尽可能地做到 7X24 小时不间断的运行,你可能经常会看到一些大网站给出的 99.9% 或者 99.99% 可用 这样的内容,下面的表给出了从 99% 到 99.999% 的不可用时间的计算方式,差别真的很大,想做到真的很难很难:
| 可用性指标 | 计算方式 | 不可用时间(分钟) |
|---|---|---|
| 99% | 1% x 365 x 24 x 60 | 5256 |
| 99.9% | 0.1% x 365 x 24 x 60 | 525.6 |
| 99.99% | 0.01% x 365 x 24 x 60 | 52.56 |
| 99.999% | 0.001% x 365 x 24 x 60 | 5.256 |
分享:第三方手机号码归属地查询接口
线上项目正在使用的服务,就一个,但是功能提供都比较全,够用。
http://api.showji.com/locating/help.htm
Notes: 慎用“OpenSessionInView”
最近一个线上项目在和第三方合作伙伴合作进行集成开发过程中,web.xml被加入了OpenSessionInViewFilter,由于在测试中压力较小,没有发现问题,结果在实际使用中出现了严重的性能问题。
OpenSessionInView是什么
OpenSessionInViewFilter是Spring提供的一个针对Hibernate的支持类,其主要意思是:当发起一个页面请求时,打开Hibernate的Session,并一直保持住这个Session,直到这个请求结束。具体是通过一个Filter来实现的。
为什么使用OpenSessionInView
当Hibernate+Spring配合使用的时候,如果设置了lazy=true,那么在读取数据的时候,当读取了父数据后,Hibernate会自动关闭Session,这样,当要使用子数据的时候,系统会抛出session already closed Exception或者 no session 的错误。
这时就需要使用Spring提供的OpenSessionInViewFilter,OpenSessionInViewFilter主要是保持Session状态直到request将全部信息发送到客户端,这样就可以解决延迟加载带来的问题。
分享:第三方IP地址查询接口
平时在做web应用时,有时避免不了IP查询,自建自然有些浪费时间和精力,何不用第三方的一些工具,分享三个常用的IP查询服务:
太平洋电脑网IP地址查询:http://whois.pconline.com.cn/
新浪IP地址查询:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=211.153.22.125
网易有道IP地址查询:http://www.youdao.com/smartresult-xml/search.s?type=ip&q=211.153.22.125
这几个都可以在页面直接嵌入使用,通过JS做简单的处理即可。
分享:VirtualBox终于出Clone功能了
日期:2011年07月20日 分类:随记
分享:web标准化交流会第二十期北京站总结
分享内容如下:
开心网 李国新 规范JavaScript开发模式(海贝网CommonJS实践之路) 傲游浏览器 赵锦江 git和github简介 谷歌 黄昊 Chrome 浏览器开发者工具介绍 W3Help 貘 javaScript模板引擎 -jsTemplate 应用场景及设计实现 联想研究院 小贝 谈团队协作的“兼”情和“基”情
分享:使用HTML5和CSS3来创建幻灯片
很不错的一篇介绍HTML5幻灯片制作的教程
译者:蒋宇捷(转载请标明出处-http://blog.csdn.net/hfahe)
下载源文件 示例 (用向左向右键翻页,Ctrl加+或者-键放大缩小)
阅读地址:http://blog.csdn.net/hfahe/archive/2011/06/06/6527467.aspx
Notes: 运维
日期:2011年06月14日 分类:Linux服务器相关, 技术, 网站运营相关
最近这一周来一直和运维打交道,原因是服务器所在的机房网络不稳定,导致需要进行各种网络检测,测试和服务器硬件维护。
说来负责的这个项目的网络情况比较“被”,先是遇到断电维护,其次是南北网络互通问题,再是IP所在路由器故障,到现在的网络不稳定。总之是大面上遇到的问题都遇到了,小问题也都赶上了。
说起目前的情况也很奇怪:
1、出问题的IP,ping值不稳定,正常的时候3ms左右,出问题的时候不是请求超时就是ping值达到2000多ms,故障发生间隙也是几秒,几分,到几十分钟不等。
2、出问题的IP所在机子,cpu,内存,网络使用等都不大,甚至凌晨压力最最小的时候也出问题。
3、为了排除硬件问题,考虑将备机上架,而可悲的是备机竟然无法上架,原因是出问题的IP到了新机子上始终无法连通外网,而机房内同网段机子却可以ping通,换其他IP也没一点儿问题。
4、为了排除备机的系统问题,重新安装了备机的操作系统,问题同样,出问题的IP始终到了备机上无法连通外网,换其他IP没问题。
5、问题反馈机房,得答复:IP没有做网卡绑定,对此问题他们暂时也没有找到原因。
到这里我们也就无能为力了,换IP或许是最直接和简单的解决办法,但是客户忍受不了了,接连出现的问题让他们对这个机房已经丧失了信心,开始寻找新机房,准备迁移。
在这几天的网络监控中,发现了一个不错的网站“监控宝”,虽然之前早就知道,但是因为之前没有使用的需求,因此也就没有在意,这次网络监测中,发现“监控宝”还是很不错的,虽然免费的账户有一定的限制,但是作为辅助的监测工具还是很有用的,尤其结合即时通知使用时。
这里分享一个使用技巧:
想更好的使用监控宝的即时通知,是要付费的,比如短信通知,但是可以通过139邮箱的短信通知做到一样的即时通知,这点就需要你设置的通知邮箱中有一个必须是139邮箱了。
我的做法:把监控宝的通知邮箱设为我常用的gmail邮箱,然后增加过滤器,只转发来自监控宝的邮件至我不常用的139邮箱,这样只要监控宝一有邮件通知,手机就会立马收到通知。
Note:做优化
Notes: update glassfishv3
日期:2011年06月09日 分类:Linux服务器相关, 技术, 编程相关, 网站运营相关
进入glassfishv3所在目录下的bin目录,执行:
./pkg image-update
正常情况下,glassfish就会去检查更新,并下载更新文件进行更新。
但是如果是在 RHEL or CentOS 下,可能会出现 SE Linux问题,提示如下错误:
Traceback (most recent call last):
File "/opt/glassfishv3/pkg/bin/client.py", line 61, in ?
import pkg.actions as actions
File "/opt/glassfishv3/pkg/vendor-packages/pkg/actions/__init__.py", line 59, in ?
globals(), locals(), [modname])
File "/opt/glassfishv3/pkg/vendor-packages/pkg/actions/directory.py", line 36, in ?
import generic
File "/opt/glassfishv3/pkg/vendor-packages/pkg/actions/generic.py", line 45, in ?
import pkg.variant as variant
File "/opt/glassfishv3/pkg/vendor-packages/pkg/variant.py", line 28, in ?
from pkg.misc import EmptyI
File "/opt/glassfishv3/pkg/vendor-packages/pkg/misc.py", line 32, in ?
import OpenSSL.crypto as osc
File "/opt/glassfishv3/pkg/vendor-packages/OpenSSL/__init__.py", line 11, in ?
import rand, crypto, SSL, tsafe
ImportError: /opt/glassfishv3/pkg/vendor-packages/OpenSSL/crypto.so:
cannot restore segment prot after reloc: Permission denied
这个时候,执行一下这个命令:
/usr/sbin/setenforce 0
就可以临时禁用SE Linux的强制检查,再次更新即可。





