现在的位置: 首页
0℃

构建移动Web应用程序的技术堆栈

2012年05月02日 分布式  ⁄ 被围观 22 views+
  编写web应用程序时,有很多的技术决策。笔者最近回来编写现代Web应用程序,并希望总结一些曾经在开发周期过程中做了记录零散的想法。这篇文章是关于一套对笔者最近开发的项目有帮助的框架。笔者重温了一些最重要的框架类型,其中每一个可以展开来写一篇文章。这并不是一个广泛的现有产品相比,只是一个笔者最近使用的部分技术。 虽然笔者的重点是移动优先, 笔者认为,这套技术可以应用在一般的web应用程序。 笔者的决定和数据支持考虑了几个要求: 基于JavaScript(CoffeeScript,Dart,绝对值得认真看看...
阅读全文
0℃

Facebook是如何存储数十亿图片

2012年04月17日 系统架构  ⁄ 被围观 107 views+
分享照片是Facebook上最流行的的功能之一。截至目前,用户已经上传超过15亿张照片,这使得Facebook成为最大的照片共享网站。对于 每一个上传的照片,Facebook都生成并存储四个大小不同的图像,从而转化为共60亿张照片,总容量超过1.5PB。目前以每周220万新照片的速度 增长,相当于每周要额外增加25TB存储。在高峰期每秒需要传输55万照片。这些数字对Facebook的照片存储基础设施的一个重大的挑战。   旧的 NFS 照片架构 老的照片系统架构分以下几个层: 上传层接收用户上传的照片并保存在 NFS 存储层。 照片服务...
阅读全文
0℃

Instagram的后台架构

2012年04月12日 系统架构  ⁄ 被围观 117 views+
OS/主机 操作系统的选择,在Amazon EC2上跑 Ubuntu Linux 11.04 (Natty Narwhal) ,这个版本经过验证在 EC2 上够稳定。因为只有三名工程师,只有三名工程师,所以自己部署机器到 IDC 是不靠谱的事情。幸好有亚马逊。 负载均衡 此前曾用过两台 Nginx 做 DNS 轮询承载前端请求,这样做会有副作用,现在已经迁移到Amazon的ELB(Elastic Load Balancer),起了三个 Nginx 实例,在 ELB 层停掉了 SSL , 以缓解 CPU 压力。DNS 服务使用 Amazon Route53 服务。 应用服务器 启用了 25 个 Django 实例,运行在 High-CPU Extr...
阅读全文
0℃

Redis持久化解密

2012年03月29日 开源数据库  ⁄ 被围观 124 views+
本文内容来源于Redis作者博文,Redis作者说,他看到的所有针对Redis的讨论中,对Redis持久化的误解是最大的,于是他写了一篇长文来对Redis的持久化进行了系统性的论述。文章非常长,也很值得一看,NoSQLFan将主要内容简述成本文。 什么是持久化,简单来讲就是将数据放到断电后数据不会丢失的设备中。也就是我们通常理解的硬盘上。 写操作的流程 首先我们来看一下数据库在进行写操作时到底做了哪些事,主要有下面五个过程。 客户端向服务端发送写操作(数据在客户端的内存中) 数据库服务端接收到写请求的数据(数...
阅读全文
1℃

redis持久化与复制机制

2012年02月28日 开源数据库  ⁄ 被围观 257 views+
一 两种持久化机制snapshotting 与 append only的区别        snapshotting 快照是默认的持久化方式。这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。可以通过配置设置自动做快照持久 化的方式。我们可以配置redis在n秒内如果超过m个key被修改就自动做快照,下面是默认的快照保存配置 save 900 1 #900秒内如果超过1个key被修改,则发起快照保存 save 300 10 #300秒内容如超过10个key被修改,则发起快照保存 save 60 1000 Append-only file aof 比快照方式有更好的持久化性,...
阅读全文
0℃

我们如何进行持续集成(2)

2012年02月20日 项目管理  ⁄ 被围观 158 views+
在用hudson做持续集成的第一篇文章里 《我们如何进行持续集成(1)》http://itzoo.info/?p=332介绍了大体的我们使用的方式,实际上现实环境的使用时我们是打算给每一位开发工程师设置一个husdon的project如下图所示 说明: 1. 共用一个svn库,所有工程师在mainline上做提交和更改 2. Hudson上做多个hudson project,每个工程师只负责维护自己的project,hudson的project管理中,对于变更历史、编译错误的现实、管理等提供了诸多的便捷方式。 3. 通过web界面每位工程师可以灵活的管理自己的project,每次通过管理界...
阅读全文
0℃

Tumblr架构探秘

2012年02月16日 系统架构  ⁄ 被围观 213 views+
随着每月页面浏览量突破15亿次,Tumblr已经名正言顺地跻身博客类平台中的名人堂。用户们对它的简洁、美观以及对使用体验的专注追求赞不绝口;它的相关社区也同样氛围温馨、人气爆棚。总之,人们喜欢这位博客家族中的新贵。 超过30%的月度增长不可能一帆风顺,过程中的坎坷与挑战也自然不言而喻,但最令人头痛的还是可靠性问题。正是经过技术人员的不懈努力,Tumblr才取得了如此惊人的规模及傲人的运行成绩:每天5亿次页面浏览、每秒四万次查询请求峰值、每天新数据存储量高达约3TB、总支持服务器达到1000余台。 ...
阅读全文
0℃

我们如何进行持续集成(1)

2012年02月11日 项目管理  ⁄ 被围观 144 views+
项目进行的过程中一个真正team不是万精油啥都行,与生俱来的气场不够,只能是在实践中不断摸索,通过创业的半年来看实际的项目开发中team的代码管理,版本管理,测试,发布等等环节有着很大的改善空间。   首先还是从遭遇的问题入手: 1. 主干开发还是分支开发? 2. 测试环境与开发环境耦合? 3. 测试环境到线上环境的deploy过程复杂如何化繁为简? 4. 白盒测试怎么做?   在引入hudson做持续集成之前我对如上的几个问题做了全面的思考,目前的实践如下: 1. 坚持mainline开发,从原有的旧系统抽调二台...
阅读全文
0℃

MongoDB新的数据统计框架介绍

2012年01月19日 开源数据库  ⁄ 被围观 151 views+
NoSQLFan 关注NoSQL相关的新闻与技术 NoSQL书籍 分类列表 关于本站 NoSQLFan? MongoDB新的数据统计框架介绍 作者:nosqlfan on 星期三, 一月 18, 2012 · 1条评论 【阅读:48 次】 目前的MongoDB在进行复杂的数据统计计算时都需要写MapReduce来实现,包括在SQL中比较常用的group by查询也需要写一个reduce才能实现,这是比较麻烦的。在MongoDB2.1中,将会引入一套全新的数据统计计算框架,让用户更方便的进行统计操作。 下面我们就来看看几个新的操作符: $match $match的作用是过滤数据,通过设置一个条...
阅读全文
0℃

【转载】简明 Vim 练级攻略

2012年01月12日 IT产品&资讯  ⁄ 被围观 164 views+
你想以最快的速度学习人类史上最好的文本编辑器VIM吗?你先得懂得如何在VIM幸存下来,然后一点一点地学习各种戏法。 Vim the Six Billion Dollar editor Better, Stronger, Faster. 学习 vim 并且其会成为你最后一个使用的文本编辑器。没有比这个更好的文本编辑器了,非常地难学,但是却不可思议地好用。 我建议下面这四个步骤: 存活 感觉良好 觉得更好,更强,更快 使用VIM的超能力 当你走完这篇文章,你会成为一个vim的 superstar。 在开始学习以前,我需要给你一些警告: 学习vim在开始时是痛苦的。 需要时...
阅读全文
×
腾讯微博