首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 数据库 第二书店 程序员

zdg/ 


共53个网摘 [ 1  2 ]  下一页  |  访问zdg的个人空间

sina新版博客上线

zdg收录,使用标签:Sina, Blog, Architecture,时间:2008-4-15 13:19:46 | 相关网摘我也收藏

sina新版博客已经上线(http://blog.sina.com.cn/lm/html/2008-04-14/1340.html)

1:功能进行规整和简化
2:架构调整,可以提供更强壮和更快的体验.
(1)nginx大行其道,不但作为proxy,还有部分的逻辑应用,比如区分博客新老用户
(2)cache处理更为理性,博主访问直接穿透squid,用户访问则直接调用squid,squid cache更新走消息队列机制,不会影响用户操作
(3)数据存储层包含mysql和memcached,但是也带来一个问题,数据操作需要有一致性
3:前端的渲染也归于理性,快速显示永远是第一.


Sina的CMS模型

zdg收录,使用标签:sina, CMS, Architecture,时间:2008-4-15 11:07:38 | 相关网摘我也收藏

在代码层次上看,SinaCMS是使用C 编码的,模板取数据的时候则使用了perl脚本。SinaCMS里面频道、项目和模板是结合在一起的,他们三者的关系是:

1.一个频道就是一个项目,在数据库里面体现就是一个数据库,比如说新闻中心,对应一个名为news的数据库;
2.一个频道会有若干个模板,例如首页,新闻页,这些在数据库中体现为相关的表;
3.模板需要定义模板域,模板域有表单类型模板域(Form)和应用类型模板域(Application)两种类型,前者面向编辑的提供数据界面接口功能,后者面向技术支持人员提供高级的二次开发功能。模板域在数据库中就是模板表中相对应的数据扩展字段,例如Form::TextField对应的就是text字段,数据由编辑录入,Application::SQLResult
也是text字段,存储的则是执行Perl脚本执行后的结果。模板的内容存储在另外的字段中。

不难看出,SinaCMS具有极其强大的灵活性。因为它的数据库结构是项目建立以后构建模板的时候才确定的。各个频道,例如资讯频道、财经频道和汽车频道,可以拥有完全不同的数据库结构,不同频道的特殊需求也可以完全定制。另外可以看出SinaCMS里面的模板是最主要的模型,承担了确定数据表结构、文章发布和管理以及配置频道参数等等功能。


Facebook 的 PHP 性能与扩展性

zdg收录,使用标签:facebook, Architecture, PHP, memcached,时间:2008-4-14 18:00:28 | 相关网摘我也收藏

Facebook 平均每个用户每天要访问超过 50 个页面,PHP的页面载入时间的优化就比较重要了。在 PHP Cache 层,Facebook 采用了 APC。

Facebook 部署了超过 400 台 Memcached 服务器,超过 5TB 的数据在 Memcached 中。这是当前世界上最大的 Memcached 集群了。也给 Memcached 贡献了不少代码,包括 UDP 的支持和性能上的提升(性能提升超过 20%)。

Facebook 开发人员大量采用 Callgrind 、APD、 xdebug 、KCachegrind 等工具进行基准性能测试。任何一个 Web 项目,这也是不可或缺,也是比较容易忽略的一环。所有开发人员都应该具备熟练使用这些工具的能力才好。


雅虎架构师谈MapReduce和Hadoop的未来

zdg收录,使用标签:MapReduce, Hadoop, Yahoo, Architecture,时间:2008-3-20 11:37:16 | 相关网摘我也收藏

Hadoop是一个开源的分布式计算平台,它主要由MapReduce的算法执行和一个分布式的文件系统等两部分组成。InfoQ曾经刊登过一篇Jeremy Zawodny写的有关Hadoop速度提升的综述性文章。这次InfoQ的资深Java编辑Scott Delap和Hadoop项目负责人Doug Cutting进行了一次专访。在这次InfoQ的专访中,Cutting论述了Hadoop是如何在Yahoo中被使用的,以及Hadoop发展中遇到的挑战和Hadoop项目未来的发展方向。


Yupoo! 的网站技术架构

zdg收录,使用标签:Architecture, 存储, Web2.0,时间:2008-1-28 17:35:59 | 相关网摘我也收藏

我首先是对 Squid 有点疑问,对此阿华的解释是"目前暂时还没找到效率比 Squid 高的缓存系统,原来命中率的确很差,后来在 Squid 前又装了层 Lighttpd, 基于 url 做 hash, 同一个图片始终会到同一台 squid 去,所以命中率彻底提高了"

Image Process Server 负责处理用户上传的图片。使用的软件包也是 ImageMagick,在上次存储升级的同时,对于锐化的比率也调整过了(我个人感觉,效果的确好了很多)。”Magickd“ 是图像处理的一个远程接口服务,可以安装在任何有空闲 CPU资源的机器上,类似 Memcached的服务方式。

Yupoo! 一方面采用不少相对比较成熟的开源软件,一方面也在自行开发定制适合自己的架构组件。这也是一个 Web 2.0 公司所必需要走的一个途径。


A Comparison of the Top Four Enterprise-Architecture Methodologies

zdg收录,使用标签:Architecture,时间:2008-1-21 12:18:35 | 相关网摘我也收藏

Twenty years ago, a new field was born that soon came to be known as enterprise architecture. This paper covers a broad introduction to the field of enterprise architecture. Although the history of the field goes back 20 years, the field is still evolving—and rapidly so.


简单是一种美:提高项目成功率的一些方法

zdg收录,使用标签:管理, Architecture,时间:2007-12-26 17:03:58 | 相关网摘我也收藏

大家都希望自己参与的项目能够成功交付,然而影响每个项目是否成功的因素却千差万别。在此,根据自己的经验,说说一些在适当时候有用的方法,可以从一定程度上提高项目成功率的方法。就像设计模式一样,这些方法的使用过程必然是一个仁者见仁、智者见智的过程。

1. 尽量不要考虑项目外的重用

许多人认为能提高软件的重用度是最好的,然而每个项目实际情况都会有所不同,在设计项目中的某个模块、方法时,过多的考虑项目外的重用,必然会参加项目的复杂度,增加时间的开销。也许有人会说,这会减少下一项目的开销,试问,下一项目是什么项目?有什么需求?各方面有什么影响因素?有谁会在当前知道这一切。 如果真要重用,应该是在项目结束后再将可重用的部分提取出来,经过修改、优化后做为企业的可重用资产,而不是当前项目中的一厢情愿。

2.经常检查项目架构
项目架构通常是在项目实现开始前就已确定的东西,是一个总体的设计。然而,在这时,对项目需求的理解、复杂度的估计对还停留在一个初始阶段。如果在项目开发过程中不随着对项目的理解改进架构,必然让项目中的成员都按错误的方法开发项目。所以,必须经常检查项目的架构,进行必要的重构。

3.重构

有人说,都写了这么多了,再修改不是浪费时间嘛。他可能没有想过,一个下午的重构可以加快以后几个月的开发速度,这节省下来的时间是无法想象的。再者,通过重构,通常能想到更多简单的方法来代替现有的实现,这样的经验,同样可以简化其他模块的开发。

4.避免过度集成,让每个模块只做自己的事

一个常见的例子是,在业务系统中通常会有许多的审批,很多人一下子肯定会想到把审批做成一个通用的模块。这是没有问题的,然而通常的问题是,太多的人将审批结束后的业务处理也放到了审批模块的业务逻辑中,其实,那些是各业务模块自己的事,审批应该只完成审批即可,至于审批结束后怎么办,让该干这事的模块自己去处理。

5.避免过度灵活

设计和代码并不是越灵活越好的。一个常见的例子是,使用泛型时可以使类或者方法操作不同的对象,然而,在 .NET 常用的 N 层架构中,如果一系列的类本来就是针对某个特定实体的操作,就没有必要还指定为泛型,再在使用时指定为使用特定的实体类。这颇有画蛇添足的感觉。

6.减少锦上添花的功能

页面无刷新,更酷的显示效果等等,对于业务系统来说都是些锦上添花的事,如果因为这些而使业务界面非常复杂,给业务处理带来一系列的问题,极端情况是业务处理无法继续时,再漂亮的界面也是无用的。一个忠告时,仅在确保业务处理正确进行的前提下再考虑其他的。这一点有一个前提是与用户进行必要的沟通。

7.适当拆分

这一点与 4 类似。尽量降低每个模块的复杂度,让脑力劳动转化成体力劳动。一个常见的例子是,通常对某个表单都会有增加、修改、删除和查看的功能。但是,前三种操作通常仅在某个功能点上、特定状态和特定权限的人进行操作(也许仅在在系统中的唯一一个界面中)。而查看操作却会分布在项目的各个角落,如果将这四种操作都放在同一界面中,虽然可以减少界面数,但增加的却是这一界面的复杂度,要对各种状态、条件进行必须的判断来进行界面元素的只读设置,这个复杂度的增加是指数级的,而如果将查看拆分开,工作量将是线性的,就算要做10个查看界面,总比复杂度变成 10*10 要容易处理得多,况且还可以组件化。


web架构设计经验分享

zdg收录,使用标签:Architecture,时间:2007-12-6 17:27:05 | 相关网摘我也收藏

其实设计web缓存和企业级缓存是非常不同的,企业级缓存偏重于逻辑,而web缓存,简单快速为好


[笔记]豆瓣校园宣讲会

zdg收录,使用标签:douban, Architecture,时间:2007-12-5 16:34:48 | 相关网摘我也收藏

开发:python=很算法,为了性能一些挖掘算法用C实现,分布式:Web服务,缓存memcache,DB=mysql,存储。容器=lighttpd。搜索引擎=xapian。应用框架=quixote。
后台:大量脚本,monitor和spider。

海量数据:十万电影,百万书,千万RSS,亿URL。
实验场:数据挖掘应用于社会化过滤器,协同过滤,聚类,关联规则,机器学习,文本挖掘,教科书上见得到的都有实验,此外最强的一点是利用社会网络进行挖掘,效果显著。
数据挖掘效果评估:不用学术界常用的指标hit rate而是用户反馈。


PlentyOfFish 网站架构学习

zdg收录,使用标签:Architecture,时间:2007-12-4 13:16:17 | 相关网摘我也收藏

网络负载均衡对 Windows 架构的站点又是必须--IIS 的总连接数是有限制的。PlentyOfFish 用的是 ServerIron (Conf Refer),ServerIron 使用简单,而且功能比 NLB 更丰富。

一共三台 SQL Server,一台作为主库,另外两台只读数据库支撑查询。


LinkedIn 架构笔记

zdg收录,使用标签:Architecture, SNS,时间:2007-11-25 23:09:23 | 相关网摘我也收藏

人与人之间的关系图生成的时候,关系数据库有些不合时宜,而把数据放到内存里进行计算就是必经之路。具体一点说,LinkedIn 的基本模式是这样的:前台应用服务器面向用户,中间是DB,而DB的后边还有计算服务器来计算用户间的关系图的。

问题出来了,如何保证数据在各个 RAM 块(也就是不同的计算服务器)中是同步的呢? 需要一个比较理想的数据总线(DataBus)机制。


Architectures you''ve always wondered about

zdg收录,使用标签:Architecture,时间:2007-11-22 15:01:12 | 相关网摘我也收藏

Have you ever browsed to a site like eBay or Second Life and wondered or even fantasized about what software architecture they may have used and what insights their teams must have after solving such complex and large-scale problems.


Yahoo!社区架构

zdg收录,使用标签:Yahoo, Architecture,时间:2007-11-22 9:53:58 | 相关网摘我也收藏

首先是操作系统已经从 FreeBSD 逐渐迁移到 RHEL。这怕是雅虎不得已作出来的决定吧。FreeBSD 的开发力量的确不如 Linux,这也是不争的事实。数据库上 MySQL 与 Oracle 都有。Yahoo! 在 DW/BI 用的是 Oracle,构建了一个超大数据库。诸如 yapache、yts(反向代理服务器)、yfor(提供快速失败接管)、 ymon(监控),还有还有ysquid、ypan(cpan的 Yahoo! 克隆) 这些组件都是通过 yinst 来统计部署。


Tailrank 网站架构

zdg收录,使用标签:Tailrank, Architecture,时间:2007-11-22 9:33:37 | 相关网摘我也收藏

专门爆料网站架构的 Todd Hoff 对 Kevin Burton 进行了采访。于是我们能了解一下 Tailrank 架构的一些信息。每小时索引 2400 万的 Blog 与 Feed,内容处理能力为 160-200Mbps,IO 写入大约在10-15MBps。每个月要处理 52T 之多的原始数据。Tailrank 所用的爬虫现在已经成为一个独立产品:spinn3r。

目前大约 15 台服务器,CPU 是 64 位的 Opteron。每台主机上挂两个 SATA 盘,做 RAID 0。Tailrank 用 MySQL 数据库,联邦数据库形式。存储引擎用 InnoDB, 数据量 500GB。


财帮子(caibangzi.com)网站架构

zdg收录,使用标签:Architecture, Web2.0,时间:2007-11-15 18:01:07 | 相关网摘我也收藏

2.服务器信息

Web 服务器用的是 Lighttpd ,出于节省成本的目的,服务器是自行组装的。数据库采用的是 MySQL 5,目前还没有使用 Replication. 正准备扩充服务器,服务器数量...暂且保密一下。
3.统计分析及监控

统计分析采用 Google Analytics 和 Awstats 。目前 Alexa 排名是 2 万一点。监控工具用 monit,"以及自己写的一些分析 Proc 的脚本",再有就是 Unix 性能工具等。(Fenng: 服务器处于规模化之前基本上要这个样子)。


WikiPedia 技术架构学习分享

zdg收录,使用标签:Architecture, wikipedia,时间:2007-11-9 19:14:32 | 相关网摘我也收藏

维基百科(WikiPedia.org)位列世界十大网站,目前排名第八位。这是开放的力量。

来点直接的数据:
峰值每秒钟3万个 HTTP 请求
每秒钟 3Gbit 流量, 近乎375MB
350 台 PC 服务器(数据来源)

Cache! Cache! Cache!
维基百科网站成功的第一关键要素就是 Cache 了。CDN(其实也算是 Cache) 做内容分发到不同的大洲、Squid 作为反向代理. 数据库 Cache 用 Memcached,30 台,每台 2G 。对所有可能的数据尽可能的Cache,但他们也提醒了 Cache 的开销并非永远都是最小的,尽可能使用,但不能过度使用。


Amazon 的 Dynamo 架构

zdg收录,使用标签:Amazon, Dynamo, Architecture,时间:2007-10-31 19:16:16 | 相关网摘我也收藏

Dynamo 的可扩展性和可用性采用的都比较成熟的技术,数据分区并用改进的一致性哈希(consistent hashing)方式进行复制,利用数据对象的版本化实现一致性。复制时因为更新产生的一致性问题的维护采取类似 quorum 的机制以及去中心化的复制同步协议。 Dynamo 是完全去中心化的系统,人工管理工作很小。


Digg 网站架构

zdg收录,使用标签:digg, Architecture,时间:2007-10-31 19:14:39 | 相关网摘我也收藏

后端数据库的读比例达到 98%,写只有 2%,实际的读写比例应该高于这个数字,这应该是 Digg 在前端用 Memcached 以及 APC PHP accelerator / MCache 做缓存后的效果。在 IO 上似乎压力并不大。

数据库分割用 Sharding (分片)的机制。从透露出来的信息看,Digg 数据量并不大,仅仅刚超 30g . 看起来是只存储了一些元数据。


YouTube 的架构扩展

zdg收录,使用标签:YouTube, Architecture,时间:2007-10-31 19:10:10 | 相关网摘我也收藏

YouTube 出于开发速度的考虑,大部分代码都是 Python 开发的。Web 服务器有部分是 Apache, 用 FastCGI 模式。对于视频内容则用 Lighttpd 。据我所知,MySpace 也有部分服务器用 Lighttpd ,但量不大。YouTube 是 Lighttpd 最成功的案例。


高并发高流量网站架构

zdg收录,使用标签:Performance, Architecture, CDN, memcached,时间:2007-10-31 19:01:17 | 相关网摘我也收藏

本文围绕高并发高流量的网站架构设计问题,主要研究讨论了以下内容:

首先在整个网络的高度讨论了使用镜像网站,CDN内容分发网络等技术对负载均衡带来的便利及各自的优缺点比较。然后在局域网层次对第四层交换技术,包括硬件解决方案F5和软件解决方案LVS,进行了简单的讨论。接下来在单服务器层次,本文着重讨论了单台服务器的Socket优化,硬盘级缓存技术,内存级缓存技术,CPU与IO平衡技术(即以运算为主的程序与以数据读写为主的程序搭配部署),读写分离技术等。在应用层,本文介绍了一些大型网站常用的技术,以及选择使用该技术的理由。最后,在架构的高度讨论了网站扩容,容错等问题。


eBay Architecture | High Scalability

zdg收录,使用标签:Performance, Architecture, eBay,时间:2007-10-24 19:28:48 | 相关网摘我也收藏

Who hasn't wondered how eBay does their business? As one of the largest most loaded websites in the world, it can't be easy. And the subtitle of the presentation hints at how creating such a monster system requires true engineering: Striking a balance between site stability, feature velocity, performance, and cost.


架构师的能力模型(图)

zdg收录,使用标签:Architecture, 程序人生,时间:2007-8-22 12:21:12 | 相关网摘我也收藏

今天下午做了这幅脑图,为便于显示,切成了四个部分,描述了我对架构师能力的基本理解。

这四幅图不见得能阐述架构师能力的全部,但我尽量给出范围和有用的建议,希望能对大家有所启发和裨益。


Software Architecture: Past, Present and Future

zdg收录,使用标签:Architecture, 程序人生,时间:2007-8-22 1:03:00 | 相关网摘我也收藏

What is exactly software architecture? Do we really need it? Why have we only recently been discussing it? Is there suddenly a contagious fever about software architecture infecting those who claim to be architects? Who are they actually: gurus, just senior developers, or maybe smooth-talkers?

These are questions that developers, junior and senior, are asking about software architecture and software architects. In this article we, the members of the MS Architecture Strategy Team, will answer all of them and even more: we will face the forbidden question “Can a developer become software architect?”


亿万用户网站MySpace的成功秘密 - 《程序员》

zdg收录,使用标签:MySpace, Architecture,时间:2007-3-22 9:31:36 | 相关网摘我也收藏

高速增长的访问量给社区网络的技术体系带来了巨大挑战。MySpace的开发者多年来不断重构站点软件、数据库和存储系统,以期与自身的成长同步——目前,该站点月访问量已达400亿。绝大多数网站需要应对的流量都不及MySpace的一小部分,但那些指望迈入庞大在线市场的人,可以从MySpace的成长过程学到知识。


说说大型高并发高负载网站的系统架构

zdg收录,使用标签:Architecture, Performance,时间:2007-1-31 11:14:13 | 相关网摘我也收藏

我在CERNET做过拨号接入平台的搭建,而后在Yahoo&3721从事过搜索引擎前端开发,又在MOP处理过大型社区猫扑大杂烩的架构升级等工作,同时自己接触和开发过不少大中型网站的模块,因此在大型网站应对高负载和并发的解决方案上有一些积累和经验,可以和大家一起探讨一下。下面我从低成本、高性能和高扩张性的角度来说说我的一些经验。


说说大型高并发高负载网站的系统架构

zdg收录,使用标签:DataBase, Architecture, WEB开发,时间:2006-12-18 10:23:52 | 相关网摘我也收藏

上面提供的几个解决思路在一定程度上也意味着更大的投入,并且这样的解决思路具备瓶颈,没有很好的扩展性,下面我从低成本、高性能和高扩张性的角度来说说我的一些经验。

1、HTML静态化
2、图片服务器分离
3、数据库集群和库表散列
4、缓存
5、镜像
6、负载均衡
一个典型的使用负载均衡的策略就是,在软件或者硬件四层交换的基础上搭建squid集群,这种思路在很多大型网站包括搜索引擎上被采用,这样的架构低成本、高性能还有很强的扩张性,随时往架构里面增减节点都非常容易。


eBay 的应用服务器规模

zdg收录,使用标签:Architecture, eBay,时间:2006-11-27 17:07:07 | 相关网摘我也收藏

在 2004 年的时候,eBay 的应用服务器采用了 IBM WebSphere,部署在 WinNT 上,硬件是 Intel 双 CPU 奔腾服务器。服务器数量是 2400 台。在《eBay 的数据量》中我们知道,eBay 的是集中式处理 Log 的,每天会有 2T 的 Log 数据产生,现在只会更多。这些应用服务器分成不同的组,通过一个统一的 DAL(database access layer) 逻辑层访问 135 个数据库节点。


从历史学习的 8 堂架构课 - 胡百敬(Byron_Hu)

zdg收录,使用标签:Architecture, History,时间:2006-10-11 3:59:17 | 相关网摘我也收藏

我们可以看到,通过数个世纪以来的事件,也有些不愉快的案例,我们已经了解本文中所谈及的课程。IT 架构可以藉由记载和使用自身历史或其它产业所凝结的 pattern 迈向下一个成熟阶段。如同美国哲人 George Santayana 所言:”进步,并非存在于改变,而是依恃记忆,那些无法记住过去的,将受重蹈覆辄之诅咒。”


Microsoft Solutions Framework Version 4.0, Beta: Releases: Home

zdg收录,使用标签:Architecture,时间:2004-12-5 0:04:58 | 相关网摘我也收藏

Rolling back to the earlier version while we investigate some problems with prerelease version 2 that may hinder evaluation of MSF Agile.


伟大架构师的秘密(Microsoft 架构师杂志)

zdg收录,使用标签:Architecture,时间:2004-10-23 4:52:53 | 相关网摘我也收藏

所有伟大的架构师都掌握了在抽象的不同层次上概念化解决方案的技能。通过将解决方案组织到离散的层次,架构师可以专注于解决方案的单个方面而忽略所有剩余的复杂性。展示将抽象层次应用到 IT 解决方案的技术,并将其与其他工程学科相比较。



共53个网摘 [ 1  2 ]  下一页

zdg/相关标签



网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
北京百联美达美数码科技有限公司 版权所有 京 ICP 证 020026 号
Copyright © 2000-2006, CSDN.NET, All Rights Reserved