网站架构学习笔记--Tailrank架构

来源:Todd Hoff的文章http://www.highscalability.com/tailrank-architecture-learn-how-track-memes-across-entire-blogosphere

Tailrank
网站提供blog文章热点新闻跟踪服务,同时从8个月前开始许可其爬虫程序Spinn3r
Tailrank
要解决的是如何高效处理海量数据,及如何分析并精确索引其抓取的内容。

其要技术难点在于建立伸缩性好并高容错的分布式系统,目前实现了一个类似于GoogleMapReduce的工具Task/Queue
它是一个集中的队列服务器,用于分发任务给来请求的机器人。

技术平台

  • MySQLFederated方式分布数据,待扩展成完全的sharded方式
  • Java
  • Linux(Debian)
  • Apache 2.0
  • Squid:服务95%的页面
  • 存储:两个SATA驱动器,配置成RAID 0.
  • ServerBeach托管

系统规模

  • 15台机器;
  • 每小时索引 24Mweblogfeed
  • 速度处理内容:以160~ 200M bps
  • 每月处理的内容:52TB
  • 当前数据库规模: 500G ;

 

MySQL使用情况

  • 使用InnoDB引擎;
  • MySQL基于单核系统设计,从5.1开始才解决了多核系统下锁的问题。

 

已开源的代码

  • http://code.tailrank.com/lbpool:支持负载均衡的JDBC数据库连接缓冲池;
  • http://code.tailrank.com/feedparser:较好支持所有RSS版本的Java RSS/Atom解析器;
  • http://code.google.com/p/benchmark4j/Java(UNIX)下的性能分析工具;
  • http://code.google.com/p/spinn3r-client/:访问Spinn3r web service的客户端接口;
  • http://code.google.com/p/mysqlslavesync/:用于快速并某MySQL进行复制;
  • http://code.google.com/p/log5j/:基于log4j,实现printf格式的日志内容处理功能。
  width="520" scrolling="no" height="60" frameborder="0" align="middle" src="http://steveyang.00bp.com/ads480.html" marginheight="0" marginwidth="0"> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2977865-5"; urchinTracker(); </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值