键值存储系统设计(第一部分)

由于许多人给我们发送了电子邮件,说他们想阅读有关系统设计采访的更多信息,因此我们将在此主题上做更多介绍。我很高兴听到很多反馈,如果您有任何建议或问题,请通过发表评论告诉我们。本周,我将讨论键值存储。键值存储是一种非常强大的技术,几乎在世界上的每个系统中都使用。它可以像哈希表一样简单,同时也可以是分布

淘宝技术发展

一、引言 光棍节的狂欢 “时间到,开抢!”坐在电脑前早已等待多时的小美一看时间已到 2011 年 11 月 11 日零时,便迫不及待地投身于淘宝商城一年一度的大型网购促销活动 —— “淘宝双11购物狂欢节”。小美打开早已收藏好的宝贝 —— 某品牌的雪地靴,飞快的点击购买,付款,一回头发现 3000 双靴子已被抢购一空。

现代浏览器的工作原理

简介 浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.com到你看到google主页过程中都发生了什么。 将讨论的浏览器 今天,有五种主流浏览器——IE、Firefox、Safari、Chrome及Opera。 本文将基于一些开源浏览器的例子——Firefox、 Chrome及Safari,Safari是部分开源的。 根据W3C

来自Google、Amazon和Facebook等7大知名互联网的系统扩展经验

摘要:Google、Amazon和Facebook等7家知名互联网都会针对不同使用场景做合适的设计,但总有一些万变不离其宗的思想。比如保持简单、让所有事情自动化、不断迭代、使用缓存、根据场景在数据一致性和可用性间取舍。 本文出自澳大利亚一位ID为Dodgy Coder的程序员2012年4月的博客文章。他从High Scalability上整理和总结了Google、YouTube、Twit

可伸缩性最佳实践:来自eBay的经验

在eBay,可伸缩性是我们每天奋力抵抗的一大架构压力。我们所做的每一项架构及设计决策,身前身后都能看到它的踪影。当我们面对的是全世界数以亿计的用户,每天的页面浏览量超过10亿,系统中的数据量要用皮字节(1015或250)来计算——可伸缩性是生死交关的问题。

海量存储系列之八、九、十

首先来回答一个问题:为什么在磁盘中要使用b+树来进行文件存储呢? 原因还是因为树的高度低得缘故,磁盘本身是一个顺序读写快,随机读写慢的系统,那么如果想高效的从磁盘中找到数据,势必需要满足一个最重要的条件:减少寻道次数。

提升可伸缩性的8项最佳实践

Wille Faler 提出了八项提升系统可伸缩性和性能的最佳实践,其中包括减少数据库操作、使用缓存、减少网络通信等实践。 1. 减少数据库操作 - 尽可能远离数据库。如无必要,就不要打开数据库连接或者启动事务。 2. 缓存带来的显著变化 - 缓存能极大地减低数据库的负担,特别是当系统通过只读方式访问数据库的时候。内存缓存优于磁盘缓存,而磁盘缓存又优于远程缓存和关系型数据库。

优化和架构之服务切分

切分是最基本,且最多变的思路之一,说基本,是因为在学习程序设计的第一天就应该知道,说多变,是因为在未来的很多年里,你会不停的应用这个方法来解决问题。不幸的是,切分这个思路并没有得到应有的重视。 大概是因为这个词比较土,说起来也比较普通,远不如并行,集群,负载平衡这些词听起来大。所以碰到一个问题的时候,往往被拿出来的解决方案会是以上3个大词之一,很少有人去认真的考虑切分问题。但事实上,这3个大

Linkedin网站技术架构简介

关于LinkedIn网站的架构技术的演讲 可以看一下LinkedIn网站的基本情况: 1. 2千2百万用户 2. 每个月4百万独立用户访问 3. 每天4千万Page View 4. 每天2百万搜索流量 5. 每天25万邀请发送 6. 每天1百万的回答提交 7. 每天2百万的Email消息

Java开源建站工具

美国程序员Jon Scott Stevens,公布了他的创业公司所使用的开发工具清单。 他的语言平台是Java,开发项目是一个网站(还未上线)。所用到的工具都是开源的,可以免费得到。 在目前的创业者之中,用Java作为网站开发语言的人似乎很少。这当然不是没有原因的,Java看上去确实不像是最便捷的网站开发工具,给人的感觉是用起来麻烦又费事。
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×