搜索结果为: 架构

Replication is widely used to achieve various goals in information systems, such as better performance, fault tolerance, backup, etc. Four classes of replication technologies are available. Your decision about which technology to use will depend on the logical presentation of the data you are trying to replicate.

1、Storage-level replication

At the storage level, replication is focused on a block of binary data. Replication may be done either on b 更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

首席信息官(CIO)们应该怎样使技术投资和业务目标相结合,这个话题如今已是老调重弹了。在eBay公司,技术对于业务发挥着不可或缺的作用,让我们免于面对绝大部分“《财富》1000强”公司所头疼的IT难题。

当然,我们也面临着诸多挑战。由于业务性质的原因,目前可供我们借鉴的成功范例并不多。这个道理显而易见,如果你的业务从零起步,在其成长的同时, 必然会引发一些新问题。这些问题的出现难以规避,也很难通过现有的方案得到解决。与其他著名的IT公司,如亚马逊公司(Amazon.com),谷歌公司 (Google),微软公司(Microsoft),雅虎公司(Yahoo)等一样,eBay也必须在研发新技术的同时,积极探索新的商业模式,并努力适 应新的运营方式。在很多方面,这就好比在高空飞行的过程中制造飞机。这种情况迫使我们冒险,在被绝大多数技术领导者认为风险过高的项目上建立信念。然而, 我们的巨大优势在于,这样的氛围会鼓励甚至要求业务部门和技术部门的领导者将不断创新的理念融入到工作的方方面面,而这也正是我们企业文化的精髓所在。

以上商业现 更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

如果说1980年代是PC的时代,1990年代是互联网的时代,那么当下呢?当下是移动互联网的时代。移动互联网的基本要义,一言以蔽之,就是把手 机与网站相连,每部手机在网站上都有独立的个人空间,成为手机的镜像。

一部小小的手机里面,可能同时装载着数十个软件。而且在同一时刻,可能好几个软件在同时运行。另外,还得时刻准备暂停运行,把手机CPU等资源让给 电话通话等优先级别高的工作。还有,时刻需要准备应付网络连接中断,手机电池耗尽等等情况。总之,手机软件的结构设计,是做小的艺术。

移动网站的架构设计,与手机软件的架构设计有着本质的不同。如果说手机软件的特点在于小,那么网站的特点在于大。仅中国就有几亿手机用户,作为服务 于移动业务的网站,它的质量来自于是否能够同时为大规模并发用户提供服务,是否能够处理海量数据,是否能够在需要扩大网站吞吐量的时候,只需要增加机器, 而不需要对网站架构做大手术。这是做大的艺术。

提到做大规模网站,大家一定会想到云计算,想到Google File System,Chubby, BigTable,MapReduce等等。 更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

前言:

看了些讨论类似QQ的系统的文章,自己以前参与的一个项目,就做这个,不过规模相对小点。写份文档,旨在清理清理思路,交流一下经验。这里的一些模块名称 (ACS、NAS),采用了以前公司的命名方式,我觉得这么用不当,觉得没有必要令换个名字。文中的内容与那个系统也有很大的区别,时间太长了,很多东西 记不清了是一个原因,再者一直觉得那东西问题多多,做了些更改,同时为简单起见,去掉了很多的细节内容。准确地说这里描述的系统应该是一个杜撰出来的,因 此我想不涉及什么商业秘密。

 

一、摘要

这个系统就支持用户的能力,我觉得完全可以支持像QQ那样的用户规模,不过个人觉得要是那么大的用户规模的话要做不少的优化处理。我接手做这东西的时候, 支持三十万左右的并发在线就会宕掉。经过我的一番修理基本可以稳定支持到40万用户。感觉这个系统设计的也还行吧。大致结构如下

二、整个系统的逻辑视图

 

更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

MySQL
关系型数据库存储系统,我们的DBA团队很强大,每人管理上百台MySQL服务器,其他就不多说了,网上资料太多了

Tokyo Cabinet
一个key-value的存储引擎,日本人开发,国内很多公司也开始使用,我们内部很多地方也用它来代替MySQL来做存储,比如我们的搜索结果页的用户 资料,就是用它来做一层MySQL外的冗余存储,目的是加快搜索结果页的显示。在key-value并需要持久存 储的场景下,用它比MySQL更有效,Cabinet本身只是一个存储引擎,没有网络处理能力,你可以用它作为自己的某个系统的下层存储引擎,更好的是搭 配Tokyo Tyrant使用。

Tokyo Tyrant
一个支持Memcached传输协议的网络接口,由Tokyo Cabinet的作者开发,目的是为Tokyo Cabinet提供网络接入能力,即Tokyo Tyrant处理网络连接,协议解析,然后调用Tokyo Cabinet的API来完成持久化存储。

ICE
一个跨 更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

At JavaOne 2008, LinkedIn employees presented two sessions about the LinkedIn architecture. The slides are available online:

这次去北京参加 CSDN SD 2.0 ,没发现高春辉的身影,原来是忙着做手机之家的架构升级呢。

从老高的近期工作总结中看到:

目前的技术状况是基于自行设计的 PHP 框架,跑在 PHP 5.2 + MySQL 5.1 下,PHP 使用 Fastcgi 模式,WebServer 选择了 Nginx。搜索功能基于 Lucene 开发。缓存代理使用 Varnish。

对老高进行了一次非正式采访,聊了不少内容,整理了一下和大家分享。(谁是高春辉? 这个不要介绍了吧,请 Google! )

1) 历史情况

更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

从老高的近期工作总结中看到:

目前的技术状况是基于自行设计的 PHP 框架,跑在 PHP 5.2 + MySQL 5.1 下,PHP 使用 Fastcgi 模式,WebServer 选择了 Nginx。搜索功能基于 Lucene 开发。缓存代理使用 Varnish。

对老高进行了一次非正式采访,聊了不少内容,整理了一下和大家分享。(谁是高春辉? 这个不要介绍了吧,请 Google! )

1) 历史情况

submit '手机之家网站架构--对话高春辉' to digg   submit '手机之家网站架构--对话高春辉' to reddit   submit '手机之家网站架构--对话高春辉' to Pligg   submit '手机之家网站架构--对话高春辉' to yahoo   |   书签  

随着Web浏览器重要性的日益突出,恶意软件、木马、间谍软件等网络攻击也呈现逐渐的上升。而面对如此众多的潜在威胁,为了确保 用户的安全性和稳定性,浏览器不得不改进浏览器的性能,其中之一就是向用户提供多进程浏览。在浏览器中添加多进程浏览功能之后,即使是浏览器其中的一个进 程出现了崩溃现象,其他的进程也不会受到影响。例如,如果一个网站中有漏洞或包含恶意代码,它就有可能摧毁当前运行在这个网站上的标签,但是它却不会影响 其他的进程或整个浏览器。

   据国外媒体报道,随着时代的进步,互联网已经成为人们生活的重要组成部分,而Web浏览器也理所应当地成为计算机等设备中最为重要的软件。

    不过,随着Web浏览器重要性的日益突出,恶意软件、木马、间谍软件等网络攻击也呈现逐渐的上升。而面对如此众多的潜在威胁,为了确保用户 的安全性和稳定性,浏览器不得不改进浏览器的性能,其中之一就是向用户提供多进程浏览。     在浏览器中添加多进程浏览功能之后,即使是浏览器其中的一个进程出现了崩溃现象,其他的进程也不会受到影响。例如,如果一个网站中有漏洞 更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

The best practices for high performance websites are well documented here, so I won’t go into web specifically, although these practices are equally applicable as a supplement for websites.

So here goes, 8 tips for making your system high performant and scalable:

Offload the database
What is the most common bottleneck in most applications? The relational database and access to it has 更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

So here goes, 8 tips for making your system high performant and scalable:

Offload the database
What is the most common bottleneck in most applications? The relational database and access to it has">submit 'Best practices for scalable, high performance systems' to digg   submit 'Best practices for scalable, high performance systems' to reddit   submit 'Best practices for scalable, high performance systems' to Pligg   submit 'Best practices for scalable, high performance systems' to yahoo   |   书签  

很多评论人士一直在讨论:人们认为,在敏捷技巧和架构思维之间存在对立关系。

在敏捷世界中,架构通常被认为是BDUF(Big Design Up Front,大规模预先设计),因而在“YAGNI”(You ain’t gonna need it,你不会需要它)信条的指引下被忽视或者推迟。

从另一方面来看,正如IEEE Software Magazine2010年3/4月刊指出的一样:

敏捷开发已经极大地影响了软件行业的开发实践。然而,暂且不论它在全世界的流行,敏 更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉
提问嘉宾:

王速瑜,腾讯R&D研发总监,从事产品研发和管理工作,对互联网产品发展趋势、管理理念、技术架构有浓厚的兴趣和深入研究实践。目前主要关注敏捷开发、大规模应用架构、企业SAAS、Web2.0产品的相关技术和趋势。

回答嘉宾:林昊

林昊,网名BlueDavy,China OSGi User Group Director,淘宝网平台架构部架构师,个人的研究方向主要为 Java模块化、动态化系统的构建以及高性能的大型分布式Java系统的构建。曾编写《OSGi实战》和《 更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

林昊,网名BlueDavy,China OSGi User Group Director,淘宝网平台架构部架构师,个人的研究方向主要为 Java模块化、动态化系统的构建以及高性能的大型分布式Java系统的构建。曾编写《OSGi实战》和《">submit '架构师接龙 王速瑜VS.林昊' to digg   submit '架构师接龙 王速瑜VS.林昊' to reddit   submit '架构师接龙 王速瑜VS.林昊' to Pligg   submit '架构师接龙 王速瑜VS.林昊' to yahoo   |   书签  

Couple of months ago I invited you to review 10 different definitions of the term “Enterprise Architecture”. While the current leader is the definition of Gartner Group (which is one of my favorites too), it still gives a pretty high-level introduction to the term. How should the created key principles and models be structured? So that they can be e 更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

FreeWheel是由前DoubleClick高管Douglas Knopper, Jon Heller和Diane Yu于2007年创建,由硅谷顶级的风险投资机构Battery Ventures投资的互联网视频广告技术服务提供商,总部位于硅谷的Palo Alto,提供互联网视频广告投放、监测、预测和内容互联增值等关键解决方案。不同于其他外资企业,FreeWheel的研发中心设在中国,数据运营中心则设立在美国纽约。

    FreeWheel北京研发团队成立两年多来,在敏捷软件开发、Ruby On Rails开发大型复杂商业系统、视频广告技术、完全离岸的产品研发与跨国运营等方面受到关注。本文将谈谈FreeWheel在高性能、高流量互联网应用系统架构设计上所遵循的基本原则。

    原则一:假设故障总会发生(Design with failure in mind)

    在设计和实现大型互联网在线应用时,架构师必须考虑到系统各模块 更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

  

When project teams work under the assumption that they can do anything that they want, that they can use any technology that they want, chaos typically results.  Functionality and information will be duplicated and reuse will occur sporadically if at all.  Systems will not integrate well.  Systems will conflict with one another and cause each other to fail.  Costs will skyrocket 更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

When project teams work under the assumption that they can do anything that they want, that they can use any technology that they want, chaos typically results.  Functionality and information will be duplicated and reuse will occur sporadically if at all.  Systems will not integrate well.  Systems will conflict with one another and cause each other to fail.  Costs will skyrocket">submit 'Agile Enterprise Architecture' to digg   submit 'Agile Enterprise Architecture' to reddit   submit 'Agile Enterprise Architecture' to Pligg   submit 'Agile Enterprise Architecture' to yahoo   |   书签  

这里的大型网站架构只包括高互动性高交互性的数据型大型网站,基于大家众所周知的原因,我们就不谈新闻类和一些依靠HTML静态化就可以实现的架构 了,我们以高负载高数据交换高数据流动性的网站为例,比如海内,开心网等类似的web2.0系列架构。我们这里不讨论是PHP还是JSP或者.NET环 境,我们从架构的方面去看问题,实现语言方面并不是问题,语言的优势在于实现而不是好坏,不论你选择任何语言,架构都是必须要面对的。

这里讨论一下大型网站需要注意和考虑的问题

1、海量数据的处理

众所周知,对于一些相对小的站点来说,数据量并不是很大,select和update就可以解决我们面对的问题,本身负载量不是很大,最多再加几个 索引就可以搞定。对于大型网站,每天的数据量可能就上百万,如果一个设计不好的多对多关系,在前期是没有任何问题的,但是随着用户的增长,数据量会是几何 级的增长的。在这个时候我们对于一个表的select和update的时候(还不说多表联合查询)的成本的非常高的。

2、数据并发的 更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

随着信息量飞涨,信息的存储成为了这个时代至关重要的一项技术。如何来保证数据存储技术能够适应信息量的增长速度和我们对信息的高度依赖, 成为一个非常重要的课题。本文将从数据库架构的层面,通过以开源的数据存储软件来构建分布式数据层的思路,期望实现一个低成本的高可用可扩展的数据层架 构。


更多相关的内容 »
comments 29 意见/ 评语   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉


submit '基于MySQL的高可用可扩展架构探讨' to digg   submit '基于MySQL的高可用可扩展架构探讨' to reddit   submit '基于MySQL的高可用可扩展架构探讨' to Pligg   submit '基于MySQL的高可用可扩展架构探讨' to yahoo   |   书签  

一场危机赢得高度关注的时候,它已经不是危机,人们是要处理这个危机。”——马云

2009年是挑战和机遇并存的一年,对大部分人来说,已经习惯了金融危机,并努力解决危机。在技术圈子也一样,被裁员的肯定也找到了工作,所以都在 踏实做技术。言归正传,先念叨念叨2009年的一些故事,寻个回忆,找个乐子。

数据扩展性探讨和总结

金融危机是电子商务的机遇,所以09年是淘宝高速发展的一年。当一个网站从百万、千万记录的数据规模,增长到亿、十亿、几十亿记录的数据规模时,是 一个量变到质变的过程,单纯的硬件升级已经达到了瓶颈,而需要在整体结构上做文章。09年一年,大部分时间都在数据的扩展性上努力。

对于一个电子商务网站来讲,订单是最核心的数据,也是增长最快的数据。对于数据的扩展性来讲,最传统也是最简单有效的模式是数据库的分库分表。当订 单和分库分表相遇,会有什么火花迸发出来?09年初碰撞了很久,结果产生的火花 更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

腾讯QQGame游戏同时在线的玩家数量极其庞大,为了方便组织玩家组队游戏,腾讯设置了大量游戏室(房间),玩家可以选 择进入属意的房间,并在此房间内找到可以加入的游戏组(牌桌、棋盘等)。玩家选择进入某个房间时,必须确保此房间当前人数未满(通常上限为400),否则 进入步骤将会失败。玩家在登入QQGame后,会从服务器端获取某类游戏下所有房间的当前人数数据,玩家可以据此找到未满的房间以便进入。

    如上篇所述的原因,如果待进入房间的人数接近上限时,玩家的进入请求可能失败,这是因为服务器在收到此进入请求之前可能有若干其他玩家也请求进入这个房间,造成房间人数达到上限。这一问题是无法通过上篇所述调整协作分配的方法来解决的,这是因为:要进入的房间是由玩家来指定的,无法在服务器端完成此项工作,游戏软件必须将服务 更多相关的内容 »
comments 讨论   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉

    如上篇所述的原因,如果待进入房间的人数接近上限时,玩家的进入请求可能失败,这是因为服务器在收到此进入请求之前可能有若干其他玩家也请求进入这个房间,造成房间人数达到上限。这一问题是无法通过上篇所述调整协作分配的方法来解决的,这是因为:要进入的房间是由玩家来指定的,无法在服务器端完成此项工作,游戏软件必须将服务">submit '从腾讯QQgame高性能服务器集群架构看“分而治之”与“自治”等分布式架构设计原则' to digg   submit '从腾讯QQgame高性能服务器集群架构看“分而治之”与“自治”等分布式架构设计原则' to reddit   submit '从腾讯QQgame高性能服务器集群架构看“分而治之”与“自治”等分布式架构设计原则' to Pligg   submit '从腾讯QQgame高性能服务器集群架构看“分而治之”与“自治”等分布式架构设计原则' to yahoo   |   书签  

I have observed a pattern from multiple enterprises moving from a traditional web app to a SaaS. Trying to capture this pattern and a number of lessons learned. I use a J2EE Web App architecture to illustrate but the same principles apply to other technology platforms.

Stage 1: Some working Web App


At the very beginning, we have an web application that works well. We analyze the function of the web application and group the implementation classes accordingly

更多相关的内容 »
comments 36 意见/ 评语   addto 把此链接加入于...  recommend 与朋友分享   report 已已沉