摘要:引言近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,常常见识到不少精妙绝伦的架构图。除了每每感叹于每幅图表面上的绘制的精细之外,更为架构图背后所隐藏的设计思想所叹服。个人这两天一直在搜集各大型网站的架...
阅读全文
摘要:本文根据系统管理领域知名博客 Thomas A. Limoncelli 的 What is system administration like at Google 整理而成,添加了部分笔者观点。Google的系...
阅读全文
摘要:搜索引擎最重要的是什么?有人会说是查询结果的准确性,有人会说是查询结果的丰富性,但其实这些都不是搜索引擎最最致命的地方。对于搜索引擎来说,最最致命的是查询时间。试想一下,如果你在百度界面上查询一个关键词,结果需要...
阅读全文
摘要:最近发现我身边和加我QQ的朋友们,总会问到我一些搜索引擎蜘蛛爬行的问题,所以今天我想为大家分享的这个seo优化知识就是百度的搜索引擎工作原理,其实应该是seo基础,呵呵。好了不废话了,还是抓紧为大家分享seo基础...
阅读全文
摘要:实现伸缩性和性能调优的经验所保有的价值容易被低估。两者都是“晚些时候”或“我们真正流行起来时”所面临的难题。早期创业公司确实不应该立即花这份钱,而大公司通常不能做出足够快速的反应以实现所需的改变。再加上这需要一个...
阅读全文
摘要:在世界范围构建可靠的分布式系统往往要求在一致性和可用性之间进行权衡。上个月,亚马逊公司的CTO Werner Vogels发表了一篇文章,描述在大型分布式系统中容忍最终数据一致性的方法。正如InfoQ之前的一篇文...
阅读全文
摘要:作为140个字的缔造者,twitter太简单了,又太复杂了,简单是因为仅仅用140个字居然使有几次世界性事件的传播速度超过任何媒体,复杂是因为要为2亿用户提供这看似简单的140个字的服务,这真的是因为简单,所以复...
阅读全文
摘要:切分是最基本,且最多变的思路之一,说基本,是因为在学习程序设计的第一天就应该知道,说多变,是因为在未来的很多年里,你会不停的应用这个方法来解决问题。不幸的是,切分这个思路并没有得到应有的重视。大概是因为这个词比较...
阅读全文
摘要:Wille Faler 提出了八项提升系统可伸缩性和性能的最佳实践,其中包括减少数据库操作、使用缓存、减少网络通信等实践。1. 减少数据库操作 - 尽可能远离数据库。如无必要,就不要打开数据库连接或者启动事务。2...
阅读全文
摘要:简介浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.com到你看到google主页过程中都发生了什么。将讨论的浏览器今天,有五种主流浏览器——IE、Fi...
阅读全文
摘要:从最简单的水平来看,可伸缩性就是做更多的事情。更多的事情可以是响应更多的用户请求,执行更多的工作,或处理更多的数据。设计软件这件事本身是复杂的,而让软件做更多的工作也有其特有的问题。这篇文章针对构建可伸缩软件系统...
阅读全文
摘要:引言在扩展大量大型的分布式系统期间,我有机会观察(并实践)了一些最差实践。这些最差实践中的大部分在开始时都没有危害,但如果疏忽大意,它们就会对系统的发展和可伸缩性构成危害。很多文章都聚焦于最佳实践,以确保拥有一个...
阅读全文
摘要:负载均衡这里把多台nginx反向代理服务器顶在最前面,可以通过DNS简单轮循或绑定虚拟IP的方法来实现分流。之所以用nginx是因为它的稳定、强大、高性能、低开销、以及对高并发的支持。也可以换成LVS,从效率上来...
阅读全文
摘要:说起MySpace,可能很多人对他印象很深,MySpace.com成立于2003年9月,是目前全球最大的社交网站。它为全球用户提供了一个集交友、个人信息分享、即时通讯等多种功能于一体的互动平台,同时他也是.NET...
阅读全文
摘要:这几天一直在关注和学习一些大型网站的架构,希望有一天自己也能设计一个高并发、高容错的系统并能应用在实践上。今天在网上找架构相关的资料时,看到一个被和谐的视频网站YouTube的架构分析,看了以后觉得自己又向架构走...
阅读全文
摘要:摘要:原型设计能起到有效沟通的作用,漂亮,直观的原型图更是让人赏心悦目。本文罗列了2013年最新的10大界面原型与布局工具以帮助设计师和开发者创建出更加优秀的产品。创建网页或者程序不仅要关注主页的排版以及与主题想...
阅读全文
摘要:摘要:提高软件产品质量一直是开发人员所追求的目标,而世上并没有什么绝招可以保证程序员开发的产品不存在质量问题。但实践出真知,一些开发者总结平时项目开发经验,通过提高测试覆盖率和使用一些质量工具提高产品质量。金无足...
阅读全文
摘要:无谓的编辑器战争很多人都喜欢争论哪个编辑器是最好的。其中最大的争论莫过于 Emacs 与 vi 之争。vi 的支持者喜欢说:“看 vi 打起字来多快,手指完全不离键盘,连方向键都可以不用。”Emacs 的支持者往...
阅读全文
摘要:摘要:将应用交付给终端用户正变得越来越难,因为会涉及到更多的组件,也因此更容易犯错。技术性能公司Compuware总结了贯穿应用始终的八大影响应用性能的陷阱,望开发者引以为戒。数据库访问低效、框架配置错误、内存使...
阅读全文
摘要:摘要:本文我们总结了国外13款热门级的开源项目,包括ProjectLibre、OpenBravo POS、Impress.JS、Reveal.JS、Diaspora等,这些项目都是备受开发者青睐的开源项目,希望你...
阅读全文
摘要:本文提供6款免费且非常适合儿童编程的应用,无论他/她现在是5岁还是15岁,是想学Ruby/Java,这六款工具都可以让孩子轻松入手,快乐学编程。教育从娃娃抓起。在竞争日益激烈的今天,多一项技能或许就多一次成功的机...
阅读全文
摘要:1. 概述很多企业选择MySQL都会担心它的数据丢失问题,从而选择Oracle,但是其实并不十分清楚什么情况下,各种原因导致MySQL会丢失部分数据。本文不讨论Oracle和MySQL的优劣,仅仅关注MySQL丢...
阅读全文
摘要:今天有人问我有没有数据存储的相关资料,我想了想。。虽然在这个领域内也算有点积累,以前讲课的ppt有200多页,但毕竟ppt的信息量有限。所以在这里将这个系列的部分内容在这里进行重新编排。这个内容会在我的轻博客和...
阅读全文
摘要:1. 为什么分层? 计算机领域的体系结构普遍采用了分层的方式。 从整体结构来看: 从最底层的硬件往高层依次有: 操作系统 -> 驱动程序 -> 运行库 -> 系统程序 -> 应用程序等等。 从网络分层模...
阅读全文
摘要:英文原文:Scalability Best Practices: Lessons from eBay 在eBay,可伸缩性是我们每天奋力抵抗的一大架构压力。我们所做的每一项架构及设计决策,身前身后都能看到它的踪...
阅读全文
摘要:随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策 略来改变现状。读写分离现在被大量应用于很多大型网站,这个技术也不足为...
阅读全文
摘要:最近对swing又产生了兴趣,虽然以前也偶尔看过,但都停留在理论阶段,没实践过。 最近觉得重新再看看,试下能不能写个程序出来看看。首先找了一个开源的小程序看了下,因为基础的东西自己还记得些,看起来不是很困难。一直...
阅读全文