分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]
  [文章作者:张宴 本文版本:v1.0 最后修改:2008.12.30 转载请注明原文链接:http://blog.zyan.cc/post/390/]

  我之前的一篇文章《Linux服务器系统监控框架与MSN、E-mail、手机短信报警的实现》中提到MSN报警,当时使用的sendMsg类采用的是MSNP9协议,不支持离线消息。最近找到一个PHP MSN Class(http://code.google.com/p/phpmsnclass/),支持MSNP9 (MSN 6.2)和最新的MSNP15 (WLM 8.1)协议(MSNP15协议支持离线消息),可以作为MSN机器人使用,或者给MSN、雅虎通发消息。

  示例代码:必须确保发送人、接收人的MSN互相加为好友。
Tags: , , ,
  [文章作者:张宴 本文版本:v1.0 最后修改:2008.12.15 转载请注明原文链接:http://blog.zyan.cc/post/389/]

  PHP获取远程网页内容有多种方式,例如用自带的file_get_contents、fopen等函数。
引用
<?php  
echo file_get_contents("http://blog.zyan.cc/abc.php");  
?>

  但是,在DNS轮询等负载均衡中,同一域名,可能对应多台服务器,多个IP。假设blog.zyan.cc被DNS解析到72.249.146.213、72.249.146.214、72.249.146.215三个IP,用户每次访问blog.zyan.cc,系统会根据负载均衡的相应算法访问其中的一台服务器。

  上周做一个视频项目时,就碰到这样一类需求:需要依次访问每台服务器上的一个PHP接口程序(假设为abc.php),查询这台服务器的传输状态。

  这时就不能直接用file_get_contents访问http://blog.zyan.cc/abc.php了,因为它可能一直重复访问某一台服务器。

  而采用依次访问http://72.249.146.213/abc.phphttp://72.249.146.214/abc.phphttp://72.249.146.215/abc.php的方法,在这三台服务器上的Web Server配有多个虚拟主机时,也是不行的。

  通过设置本地hosts也不行,因为hosts不能设置多个IP对应同一个域名。

  那就只有通过PHP和HTTP协议来实现:访问abc.php时,在header头中加上blog.zyan.cc域名。于是,我写了下面这个PHP函数:
Tags:

火箭!火箭!勇往直前。

[不指定 2008-12-12 21:01 | by 张宴 ]
  明天,公司组织整个部门去妙峰山进行拓展活动,我们属于第三队,队名:火箭队。

  队标:
  点击在新窗口中浏览此图片

  口号:火箭!火箭!勇往直前!冲啊!冲啊!冲啊!

  期待明天的胜利!
  [文章作者:张宴 本文版本:v1.0 最后修改:2008.12.12 转载请注明原文链接:http://blog.zyan.cc/post/387/]

  借用了兄弟部门在全国N台服务器的空间放一些视频文件,由于只给我开放FTP帐号,于是找了一款Linux命令行下的FTP客户端软件──ncftp,用来作整个目录批量上传。ncftpput是它的一个附带程序,在shell脚本中调用ncftpput上传文件到FTP服务器,非常方便。

  详细内容见其官方网站:http://www.ncftp.com/

  编译安装:
wget ftp://ftp.ncftp.com/ncftp/ncftp-3.2.2-src.tar.gz
tar zxvf ncftp-3.2.2-src.tar.gz
cd ncftp-3.2.2/
./configure --prefix=/usr/local/ncftp
make && make install


  示例:将本地/data0/htdocs/videofile/flv/games/目录内的所有文件和目录,上传到FTP服务器的flv/games/目录内(如果不存在flv/games/目录则自动创建)。
/usr/local/ncftp/bin/ncftpput -u FTP帐号 -p FTP密码 -P FTP端口 -m -R 192.168.1.2  flv/games/ /data0/htdocs/videofile/flv/games/*

Tags: ,

百度的网通机房挂了几分钟

[不指定 2008-12-11 16:36 | by 张宴 ]
  2008年12月11日16:21~16:26,百度的网通服务挂了。网通机房的两个F5 BIG-IP虚拟IP:202.108.22.5、202.108.22.43全部无法访问。16:27左右恢复正常。

  下面是我写的一个“CDN智能DNS解析分析工具”,可以列出各类用户访问 www.baidu.com 被解析到的服务器IP地址(可以看出百度主站的IDC全在北京,前段时间还有一个北京长城宽带的多线IDC,现在去掉了),当时直接访问百度电信机房的两个虚拟IP是能打开的:

  中国电信用户[北京]
  220.181.6.19 (北京市·电信)
  220.181.6.18 (北京市·电信)

  中国网通用户[北京]
  202.108.22.5 (北京市·网通)
  202.108.22.43 (北京市·网通)

  中国铁通用户[北京]
  202.108.22.43 (北京市·网通)
  202.108.22.5 (北京市·网通)

  中国联通用户[北京]
  202.108.22.5 (北京市·网通)
  202.108.22.43 (北京市·网通)
  [文章作者:张宴 本文版本:v1.0 最后修改:2008.12.09 转载请注明原文链接:http://blog.zyan.cc/post/385/]

  曾经在七月,写过一篇文章──《基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计》,前公司的分类信息搜索基于此架构,效果明显,甚至将很大一部分带Where条件的MySQL SQL查询,都改用了Sphinx+MySQL搜索。但是,这套架构仍存在局限:一是MySQL本身的并发能力有限,在200~300个并发连接下,查询和更新就比较慢了;二是由于MySQL表的主键与Sphinx索引的ID一一对应,从而无法跨多表建立整站查询,而且新增加类别还得修改配置文件,比较麻烦;三是因为和MySQL集成,无法发挥出Sphinx的优势。

  最近,我设计出了下列这套最新的搜索引擎架构,目前已经写出“搜索查询接口”和“索引更新接口”的beta版。经测试,在一台“奔腾四 3.6GHz 双核CPU、2GB内存”的普通PC机,7000万条索引记录的条件下,“搜索查询接口”平均查询速度为0.0XX秒(查询速度已经达到百度、谷歌、搜狗、中国雅虎等搜索引擎的水平,详见文章末尾的“附2”),并且能够支撑高达5000的并发连接;而“索引更新接口”进行数据分析、入队列、返回信息给用户的全过程,高达1500 Requests/Sec。

  “队列控制器”这一部分是核心,它要控制队列读取,更新MySQL主表与增量表,更新搜索引擎数据存储层Tokyo Tyrant,准实时(1分钟内)完成更新Sphinx增量索引,定期合并Sphinx索引。我预计在这周写出beta版。

点击在新窗口中浏览此图片

  图示说明:
  1、搜索查询接口:
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]