系统架构
文章平均质量分 73
starxu85
这个作者很懒,什么都没留下…
展开
-
大型网站架构设计图
原创 2008-06-01 23:14:00 · 1950 阅读 · 0 评论 -
Web站点数据库分布存储浅谈
【 前言 】 网 站在Web 2.0时代,时常面临迅速增加的访问量(这是好事情),但是我们的应用如何满足用户的访问需求,而且基本上我们看到的情况都是性能瓶颈都是在数据库上,这 个不怪数据库,毕竟要满足很大访问量确实对于任何一款数据库都是很大的压力,不论是商业数据库Oracle、MS SQL Server、DB2之类,还是开源的MySQL、PostgreSQL,都是很大的挑战,解决的方法很简单,原创 2008-06-25 13:44:00 · 2196 阅读 · 0 评论 -
eBay 的 Personalization Platform 采用 MySQL
过去写过很多关于 eBay 数据平台架构的帖子,过去eBay 的信息架构里 DB 都是采用 Oracle 的,大多数 <acronym title="Database Administrator">DBA 朋友也都知道 eBay 在 Oracle 方面的技术搞得非常好。这次的 The 2008 MySQL Conference & Expo 披露出来的信息,eBay 在 MySQL 上做了原创 2008-06-24 23:47:00 · 899 阅读 · 2 评论 -
MogileFS Client Libraries
Perl - http://search.cpan.org/~bradfitz/MogileFS-Client/POE - http://search.cpan.org/~mock/POE-Component-Client-MogileFS-0.02/darwinport - http://p5-mogilefs-client.darwinports.com/Java - http:/原创 2008-09-16 15:45:00 · 1319 阅读 · 0 评论 -
lbpool:一个支持负载均衡的JDBC连接缓冲池
lbpool是根据MySQL的复制机制设计的支持负 载均衡的JDBC连接缓冲池。一般来说,MySQL复制机制涉及一台主服务器(master server)和多台复制服务器(slave server),数据库写操作只发生在主服务器上,而读操作则可以分布到主服务器及其他复制服务器。 虽然lbpool是为MySQL设计的,但也可以方便地扩展到其他支持复制功能的数据库系统,如PostgreSQL等。原创 2008-10-05 01:15:00 · 1185 阅读 · 0 评论 -
搭建性能比squid高很多的varnish服务器
varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang (http://www.vg.no) 使用3台Varnish代替了原来的12台squid,性能比以前更好。varnish的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的原创 2008-10-05 00:19:00 · 770 阅读 · 0 评论 -
初步试用Squid的替代产品──Varnish Cache网站加速器
Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang (vg.no) 使用3台Varnish代替了原来的12台squid,性能比以前更好。 Varnish的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,原创 2008-10-05 00:28:00 · 747 阅读 · 0 评论 -
使用Varnish代替Squid做网站缓存加速器的详细解决方案
今天写的这篇关于Varnish的文章,已经是一篇可以完全替代Squid做网站缓存加速器的详细解决方案了。网上关于Varnish的资料很少,中文资料更是微乎其微,希望本文能够吸引更多的人研究、使用Varnish。 在我看来,使用Varnish代替Squid的理由有三点: 1、Varnish采用了“Visual Page Cache”技术,在内存的利用上,Varnish比Squid具有优势,它避原创 2008-10-05 00:31:00 · 765 阅读 · 0 评论 -
用HAProxy实现负载均衡
HAProxy 介绍 反向代理服务器,支持双机热备支持虚拟主机,但其配置简单,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障, HAProxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入。新的1.3引入了frontend,backend,frontend根据任意HTTP请求头内容做规则匹配,然后把请求定向到相关的backend.利用HAPorxy实现负载均衡1原创 2008-10-05 01:46:00 · 1099 阅读 · 0 评论 -
有关 Alexa 与 AOL 部署集群文件系统
这两天关注了一下基于 SAN/NAS 的集群文件系统的产品。找到了关于 Alexa 的一则旧闻,之后又发现了一篇关于 AOL 部署 SAN 文件系统的文章。Alexa 的相关数据Alexa 超过 1000 台 Linux 服务器 Farm,每半年增长 300T 新数据。经过了同类产品的选型后,最后选择了 Ibrix 融合文件系统。SAN 使用的是 HP Modular Smart Ar原创 2008-06-24 23:50:00 · 640 阅读 · 0 评论 -
互联星空播客架构
新浪科技讯 2007年5月17日,新浪与中国电信联合召开新闻发布会,正式宣布双方在播客业务上结为全面合作伙伴关系,新浪播客将以联合品牌“新浪-互联星空播客”的全新形象跟网民见面。今后,网民不仅将体验到速度更流畅、内容更丰富的播客平台,而且无论在新浪网,还是互联星空网站都可使用播客的全部服务。 http://tech.sina.com.cn/i/2007-05-17/10091512192.sht原创 2008-06-25 14:25:00 · 1076 阅读 · 0 评论 -
网站架构及MySQL数据库使用数量
MySQL数据库服务器在Flickr、Fotolog、Wkipedia、Facebook等国际知名网站中的使用数量 MySQL数据库服务器国际知名网站中的使用数量 2008年4月18日,在Alexa安排的一次“Scaling MySQL -- Up or Out?” 的小组辩论中,MySQL、Sun、Flickr、Fotolog、Wkipedia、Facebook、YouTube等国际知名网站的D原创 2008-06-25 00:04:00 · 1572 阅读 · 0 评论 -
谈2.0网站初期规划应该考虑的问题
我做过多个2.0公司的技术顾问,简单的谈谈2.0公司遇到的问题(涉及隐私,我用A B C D代替),这里就不再赘述大家众所周知的页面静态化,缓存和代码安全等问题了,有点技术的2.0公司的CTO都知道这些东西,我们谈点发展之后的问题 A公司 A公司做的是SNS网站,程序是两个毛头小伙子做的,目标直指51,程序开发是一帆风顺,功能也比51牛多了,推广也是一帆风顺(A公司有自己独原创 2008-06-01 23:25:00 · 787 阅读 · 0 评论 -
Google架构学习
Google是伸缩性的王者。Google一直的目标就是构建高性能高伸缩性的基础组织来支持它们的产品。 平台 Linux 大量语言:Python,Java,C++ 状态 在2006年大约有450,000台廉价服务器 在2005年Google索引了80亿Web页面,现在没有人知道数目 目前在Google有超过200个GFS集群。一个集群可以有1000或者甚至原创 2008-06-01 23:11:00 · 856 阅读 · 0 评论 -
大型互联网网站架构心得之一:分
我们知道,对于一个大型网站来说,可伸缩性是非常重要的,怎么样在纵向和横向有良好的可伸缩性,就需要在做架构设计的时候考虑到一个分的原则,我想在多个方面说一下怎么分:首先是横向的分:1. 大的网站化解为多个小网站:当我们一个网站有多个功能的时候,可以考虑把这个网站拆分成几个小模块,每一个模块可以是一个网站,这样的话我们到时候就可以很灵活地去把这些网站部署到不同的服务器上。2. 静态动态分离原创 2008-06-21 08:52:00 · 706 阅读 · 0 评论 -
Facebook 的 PHP 性能与扩展性
炙手可热的 Facebook 是用 <acronym title="PHP (Personal Home Pages) Hypertext Preprocessor">PHP 开发的。随着一些技术交流,逐渐能看到 Facebook 技术人员分享的经验。近期这个 geekSessions 站点上看到 Facebook 的 Lucas Nealan 分享的文档比较有参考价值。Cache 为 王原创 2008-06-23 01:22:00 · 799 阅读 · 0 评论 -
monit 监控并自动重启服务
Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,用于Unix平台。 它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误。monit运行于应用层安装很简单,三部曲#./configure#make#make install 复制配置文件# cp monitrc /etc/monitrc 接下来我们根据实际情况来修改这个原创 2008-06-24 23:58:00 · 1665 阅读 · 0 评论 -
Amazon 的 Dynamo 架构
Amazon Dynamo 这个高可用、可扩展存储体系支撑了Amazon 不少核心服务.先看一个示意图:从上图可以看出,Amazon 的架构是完全的分布式,去中心化。存储层也做到了分布式。Dynamo 概述Dynamo 的可扩展性和可用性采用的都比较成熟的技术,数据分区并用改进的一致性哈希(consistent hashing)方式进行复制,利用数据对象的版本化实现一致性。复制原创 2008-06-25 00:00:00 · 826 阅读 · 0 评论 -
Flickr
平台请求调度:Squid作html和images的反向代理.页面技术:PHP(Perl) 采用Smarty模板技术WEB服务器:Apache缓存:Memcached.逻辑技术组件&方案: ImageMagick作图像处理 PEAR用作XML和Email解析 Java, 作节点服务(node s原创 2008-06-24 23:34:00 · 827 阅读 · 0 评论 -
Flickr Stats 功能的设计经验
Flickr 的 <acronym title="Database Administrator">DBA Dathan Pattishall 在前几天的 MySQL 大会上分享了 Scaling Heavy Concurrent Writes In Real Time (Record every Referral for Flickr Realtime) ,其中介绍了 Flickr Sta原创 2008-06-24 23:43:00 · 650 阅读 · 0 评论 -
解读豆瓣的“指环王架构”
豆瓣的官方博客前几天发表了"豆瓣技术团队的指环王文化",文中笔调谐趣地道出《指环王》渗透入豆瓣的方方面面的场景,不经意间也透露出些许网站的“指环王架构”信息。我稍微做了一下整理,对有些信息做一些适当推测。 两台Web服务器承担。一台可能负责读书、电影、小组等;另一台负责9点。这两台服务器应该不是在前端的,豆瓣的网址应该都经过反向代理Rewrite过的,因此放在前端的可能还有几台硬盘缓存服原创 2008-10-04 22:31:00 · 2289 阅读 · 0 评论 -
memcached vs MySQL Memory engine table 速度比较
memcached 1.2.0MySQL 5.0.26 with MEMORY (heap) engine记录数:50万~100万条单机,client 从另外一台机访问数据:单条 0.1K左右memcached set/get 15,000 / sMySQL memory table: insert/select 5,000 / s结论:memcached 读写速度是 mysql memory原创 2008-10-05 02:25:00 · 1251 阅读 · 0 评论 -
2款优秀的缓存产品Modcache和Ncache
1、Modcachemodcache由老阙为lighttpd开发的缓存加速 plugin。其配置类似squid,实际运行中Lighttpd+Modcache比squid更快速更有效。新版modcache 1.7.0 新增加的重大功能是可以把缓存存到内存里,而不只是本地硬盘。这个功能适合缓存小文件,比如小图片,JS,CSS,html文件。实际系统运行对比squid的null原创 2009-11-03 00:18:00 · 1309 阅读 · 0 评论 -
Tokyo Tyrant(TTServer)系列-备份恢复和增加从库
前面我们说了TTServer的使用,以及如何在开始的时候配置主从。在使用中它非常高效和可靠,那么如果我们的服务运行一段时间后,需要增加一个从库(ttserver)来分担压力或者用于负载均衡和HA,因为是线上系统,那么就不应该停机,那么我们应该怎么对数据进行备份和拷贝,然后启动一个slave从库呢? 1.如何备份和恢复 登录到ttserver服务器,执行如原创 2010-01-23 09:21:00 · 1594 阅读 · 0 评论 -
Tokyo Tyrant(TTServer)系列-高可用性和高可靠性+nginx
1.基于memcache协议的高可用性1.1构建一个互为主辅的ttserver. 附件: 您所在的用户组无法下载或查看附件图中构建了在ip为177和178两台机器的互为主辅结构的ttserver.1.2在php中实现高可用非常幸运,php的memcache客户端直接就可以实现故障转移的功能。其中的addServer函数原创 2010-01-23 09:23:00 · 2605 阅读 · 0 评论 -
Tokyo Tyrant(TTServer)系列-启动参数和配置
启动参数介绍 我们继续来看启动参数和配置。 ttserver命令可以启动一个数据库实例。因为数据库已经实现了Tokyo Cabinet的抽象API,所以可以在启动的时候指定数据库的配置类型。支持的数据库类型有:内存hash数据库内存tree数据库hash数据库B+ tree数据库, 命令通过下面的格式来使用,‘dbname’制定数据库名原创 2010-01-23 09:25:00 · 1125 阅读 · 0 评论 -
Tokyo Tyrant(TTServer)系列-介绍和安装
Tokyo Cabinet是日本人 Mikio Hirabayashi(平林幹雄)のページ 开发的一款DBM数据库(注:大名鼎鼎的DBM数据库qdbm就是他开发的),该数据库读写非常快。insert:0.4sec/1000000recordes(2500000qps),写入100万数据只需要0.4秒。search:0.33sec/1000000 recordes(3000000原创 2010-01-23 09:26:00 · 1290 阅读 · 0 评论 -
Tokyo Tyrant(TTServer)系列-memcache协议 [
通过memcache协议使用ttserver 通过telnet 127.0.0.1 1978 telnet连接到到我们第一节的启动实例。以下我们通过add增加key为key1和value为value1的数据。通过get key1获取数据,如果你看不明白,可以搜索下memcache协议的东西看下。add key1 1 0 6value1STORED原创 2010-01-23 09:24:00 · 1157 阅读 · 0 评论 -
CAP原理与最终一致性
CAP原理(CAP Theorem)在足球比赛里,一个球员在一场比赛中进三个球,称之为帽子戏法(Hat-trick)。在分布式数据系统中,也有一个帽子原理(CAP Theorem),不过此帽子非彼帽子。CAP原理中,有三个要素:一致性(Consistency)可用性(Availability)分区容忍性(Partition tolerance)CAP原创 2010-03-20 14:02:00 · 10437 阅读 · 0 评论 -
Java使用starling分布式消息队列异步处理事务
介绍: Starling是一个支持MemCache协议的轻量级持久化服务器。Starling是让创建网络访问队列或者多个队列异常简单,也就是说多点和多台机器间的异步工作进程。它是著名微博客网站Twitter开发用来处理大量的队列消息,以及保持服务的响应。Starling已经在生产环境中使用,不仅是Twitter在使用,FiveRuns同样在使用。FiveRuns甚至还根据自原创 2010-03-20 13:32:00 · 3112 阅读 · 0 评论 -
Facebook - 150亿张照片海量存贮架构
Facebook 的照片分享很受欢迎,迄今,Facebook用户已经上传了150亿张照片,加上缩略图,总容量超过1.5PB,而每周新增的照片为2亿2000万张,约25TB,高峰期,Facebook每秒处理55万张照片,这些数字让如何管理这些数据成为一个巨大的挑战。本文由 Facebook 工程师撰写,讲述了他们是如何管理这些照片的。旧的 NFS 照片架构 老的照片系统架构分原创 2009-08-18 07:18:00 · 1536 阅读 · 1 评论 -
图文解读Facebook 从设计原则到架构体系
设计原则1尽可能的使用开源软件,并且在需要优化的时候进行优化2Unix 哲学。包括,模块化原则;整合化原则;清晰化原则等3任何组件具备扩展性4最小化故障影响5简化,简化,简化!架构概览Facebook 是 LAMP 的坚定支持者,也差不多是用 LAMP (或许用 LAM2P 更适合) 实现的最大的动态站点。基础组件加上服务,中间用自己实现的一些工原创 2009-08-18 07:17:00 · 1746 阅读 · 0 评论 -
读“DataBase Sharding at Netlog”,看DataBase Scale Out
今天看了“Database Sharding at Netlog, with MySQL and PHP”一文,和去年我们讨论扩展的思路很类似(不过这种分布式扩展,计算,存储的思路都很类似),但是这片文章的作者是在日益爆炸式增长的用户数据下实践的分享,因此这里将文中的一些思想记录下来分享一下。 Netlog拥有4000万活跃用户,每个月有超过5000万的独立用户访问网站,每个月有5原创 2009-03-08 08:46:00 · 580 阅读 · 0 评论 -
国内网站WebServer和所用Cache类型统计
抽时间统计了一下几个网站的前端 WebServer 类型和所用的 Cache 类型,结果如下:综合类,从结果上来看 Apache 还是主流:从结果看也普遍采用了比较轻快的 lighttpd 或 nginx,另外用 squid 或 cdn 之类做 cache:ng Site WebServer Cachewww.baidu.comBWS/1.0N/Aw原创 2008-11-02 00:01:00 · 1507 阅读 · 0 评论 -
Slope one:简单高效的推荐算法
推荐系统最早在亚马逊的网站上应用,根据以往用户的购买行为,推荐出购买某种产品同时可能购买的其他产品,国内做的不错的当当网,有时候买书,它总能给我推荐出我感兴趣的其他书来,也算是技术极大的促进了销售。一般的协同过滤算法,首先是收集用户对事物(产品)的评分情况,一种直接对某本书,或者某个歌曲打分,另种是隐性的打分,比如商务系统中,购买了表示打2分,浏览了打1分,其他的0分。我比较看好隐性打分原创 2009-01-03 14:22:00 · 1509 阅读 · 1 评论 -
豆瓣的架构—专访豆瓣网站的技术总监洪强宁
转自http://vipnews.csdn.net/newscontent.aspx?pointid=2009_01_07_154945457 “你要是愿意,就买一枝三块钱的玫瑰,送给我吧,这城市也是怪让人伤心的,我想死心塌地的爱上你” 这是一个叫钟童茜的歌手的歌,我在豆瓣网站发现有人评论,才知道了这首有些凄凉的歌曲。你几乎不可能从百度的最流行的mp3的列表中找到它,因为它不是那么转载 2009-01-09 12:47:00 · 1073 阅读 · 0 评论 -
sina,sohu等门户级网站架构设计
门户级网站架构设计1、 新浪新浪采用了ChinaCache做的CDN系统,ChinaCache在全国分布了四十多个点,同时采用基于动态dns分配的全球服务器负载均衡技术。从新浪的站点结构可以看出:> www.sina.com.cnServer: UnKnownAddress: 192.168.1.254Non-authoritative answer:Name: libra.sina.com.cn原创 2009-02-02 13:57:00 · 2700 阅读 · 0 评论 -
BitTorrent中的数据块校验方式改进:Merkle Hashing Tree
大家都知道,目前BT应用的发展具有一个非常显著的趋势,那就是用来交换电影、游戏、ISO等大尺寸的数据文件。然而我们也能够观察到另一个事实,那就是:下载文件所对应的索引文件(.torrent)也越来越大,越来越难以下载;这是因为在索引文件中保存了被下载文件中所有数据块的20字节SHA1校验值,而文件越大,数据块越多,则.torrent文件越长(块数=文件长度/数据块长,Bit Torrent标原创 2009-02-02 19:53:00 · 2105 阅读 · 0 评论 -
Amazon Dynamo设计的一点分享
什么是Dynamo? Dynamo是Amazon的高效Key-Value存储基础组件(类似于现在被广泛应用的Memcached Cache),当前被用于Amazon很多系统中作为状态管理组件。在2007年年底Amazon的CTO就写了一篇介绍Dynamo设计的文章,今年年底又在日志中提出了对于那篇文章的一个补充:“Eventual consistency”。这也让我再次仔细的去回顾了一下D原创 2009-02-02 19:51:00 · 1397 阅读 · 0 评论 -
YouTube网站架构
YouTube的成长速度惊人,目前每天视频访问量已达1亿,但站点维护人员很少。他们是如何管理,以实现如此强大供应能力的?被Google收购后,又在走什么样的发展道路呢?平台l Apachel Pythonl Linux (SuSe版本)l MySQLl psyco(python->C动态编译器)l lighttpd(取代Apache作为视频服务器)统计数原创 2008-12-04 00:35:00 · 1957 阅读 · 1 评论