自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

半道出家的和尚

技术是一种美...

  • 博客(351)
  • 收藏
  • 关注

原创 Facebook的内部晋升

<br /><br />Facebook前工程总监黄易山(Yishan Wong)撰写了一系列文章,很好地总结了Facebook卓越研发文化中的宝贵经验。本刊将继续连载这一系列,本文是第三篇。<br />建设一家健康长久的公司,“从公司内部提拔管理者”是一条广为人知的建议。这条建议也同样适用于规模较小、发展迅速的创业公司。<br />内部晋升的困难<br />对于超速发展的创业公司来说,秉持内部晋升的方针既非常有必要,同时又非常困难,具体有以下几个原因。由于公司的超速发展和组织的壮大,因此对于新鲜血液的需求

2011-05-13 09:54:00 3518

原创 让亲身实践者执行工作流程

<br /><br />在这里,我使用“工作流程”这个词来描述“个人或团体为了完成一项活动而遵循的步骤”意义上的流程,以及组织的一般制度。随着一家公司的成长,有必要增加或整理工作流程。<br />最重要的利弊权衡通常是工作流程所带来的阻力,以及效率或效益上的收益孰轻孰重。<br />一方面,很难评估这种权衡中的利弊,因为其中牵涉到很多因素,所以有一条可能会有帮助的原则:只允许那些有特殊需要的工作流程被执行,而且要由那些直接使用它的人来执行。通常,经理和管理人员会提议工作流程,因为它会帮助他们更好地指挥、控制

2011-05-13 09:53:00 2817

原创 招聘是第一位的

<br /><br />Facebook前工程总监黄易山(Yishan Wong)撰写了一系列文章,很好地总结了Facebook卓越研发文化中的宝贵经验。本刊将陆续连载这一系列,本文是第一篇。<br />从2006年底到2009年初,我有幸在Facebook的工程部门先后担任了不同的管理职务,包括几个不同团队的经理,以及工程总监,也见证了工程部由约30个人发展到200人左右。这段时间基本上跨越了从动态消息功能(NewsFeed)、Facebook平台(FacebookPlatform)在第一届F8大会上的发

2011-05-13 09:51:00 3361

原创 JVM参数调优实践

<br /><br />tomcat启动参数,将JVM GC信息写入tomcat_gc.log<br />CATALINA_OPTS='-Xms512m -Xmx4096m -XX:PermSize=64M -XX:MaxNewSize=128m -XX:MaxPermSize=64m -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -Xloggc:/var/log/search/tomcat_gc.log'<br />各个参数含义,以及GC机制,参考下文:<

2011-05-08 11:24:00 7023

转载 hadoop作业调优参数整理及原理

hadoop作业调优参数整理及原理

2011-02-27 23:48:00 3432

原创 搜索引擎CACHE策略研究

以前曾经提到过搜索引擎的缓存策略, 根据搜索引擎搜索的关键词的统计分布, 可以优化设计搜索引擎的缓存策略. 就普通的缓存策略上讲, 缓存是因为在一定的时间段内的搜索的关键词集中在一定的范围内, 并且这些搜索相对稳定. 例如每天搜索"美女"的人总有10万,20万, 而结果在这段时间相对稳定, 因此没有必要每次去检索索引文件, 而将上一个人搜索的结果直接返回便可以了.

2010-08-16 23:20:00 3482 1

原创 优酷网视频存储架构

视频分享网站总会面对这样两个问题:视频资源能否吸引网民以及视频浏览是否顺畅?中国互联网协会互联网数据中心发布的《2008上半年视频网站数据》显示,2008年上半年,优酷网月度总访问时长突破1.1亿小时,通过与全行业的浏览时长比对,优酷网占据的时长份额已超过50%。Gomez中国网站用户体验排行榜显示,2008 年7月1日到2008年7月31日,优酷网的平均响应时间是2.78秒。

2010-06-15 23:46:00 18287

原创 Tomcat 5.5.x到Tomcat 6.0(tomcat6新特性及变化)[转]

<br />1,tomcat6实现了servlet2.5和JSP2.1规范.<br />2,内存使用优化;<br />3,优化了http IO connector的性能.<br />4,增加了http NIO connector,对于大量并发网站可以显著提高性能;<br />5,更好的支持Etag;<br />6,完全重构了cluster;<br />7,对大部分connector增加了keepAliveTimeout属性;<br />变化点:<br />1,需要ja

2010-06-15 21:13:00 3725

原创 cassandra 学习笔记

1). cassandra任何一个节点都可以被客户端访问。2). 对cassandra某个节点的访问是通过调用org.apache.cassandra.service.Cassandra的内部类Client的相应接口实现的。3). 2)中的Cassandra这个类包含了很多内部类和一个接口(Iface)。其中的Client和Processor两个内部类都是对Iface的实现

2010-04-11 17:10:00 5849

原创 详细解析Dynamo存储引擎

Dynamo 是个什么东东呢?他是 Amazon 公司的一个分布式存储引擎。那么这个什么引擎又是什么?  首先,假设一个场景,你的网站要存储用户登陆的IP。这个问题怎么解决呢?传统的方法是用数据库。数据库提供了方便的操作接口,复杂的查询能力以及事物的保证。  好,现在假设大家都很喜欢你的网站,访问的人越来越多。一个数据库已经处理不过来了。于是你安装了3台数据库主机,把用户分成了

2010-03-31 11:27:00 2648

原创 Cassandra数据模型

提起NoSQL这个话题,仿佛不应该是DBA要关注的事,而是架构师应该关心的。但是作为一名DBA,在使用传统的关系型思想建模时,应该有必要了解NoSQL的建模方法。各种NoSQL数据库有很多,我最关注的还是BigTable类型,因为它是一个高可用可扩展的分布式计算平台,用来处理海量的结构化数据,而数据库同样也是处理结构化数据,所以除了没有SQL,在数据模型方面有相似之处。Cass

2010-03-23 15:35:00 2387 1

原创 Saying Yes to NoSQL; Going Steady with Cassandra

The last six months have been exciting for Diggs engineering team. Were working on a soup-to-nuts rewrite. Not only are we rewriting all our application code, but were also rolling out a new cl

2010-03-21 21:23:00 2174

原创 up and running with cassandra

Cassandra is a hybrid non-relational database in the same class as Googles BigTable. It is more featureful than a key/value store like Dynomite, but supports fewer query types than a docume

2010-03-21 21:22:00 2370

原创 Nosql Cassandra 0.6 key值的区间查询例子

Nosql Cassandra 0.6 key值的区间查询  小记: 传入条件 如key区间a至c 一种有a-d的数据 List sliceList = client.get_range_slice(keyspace, parent, predicate, "a", "d", 1000, ConsistencyLevel.ONE);packag

2010-03-20 14:04:00 3803 3

原创 CAP原理与最终一致性

CAP原理(CAP Theorem)在足球比赛里,一个球员在一场比赛中进三个球,称之为帽子戏法(Hat-trick)。在分布式数据系统中,也有一个帽子原理(CAP Theorem),不过此帽子非彼帽子。CAP原理中,有三个要素:一致性(Consistency)可用性(Availability)分区容忍性(Partition tolerance)CAP

2010-03-20 14:02:00 10402

原创 Cassandra Commitlog

大致介绍了一下Cassandra的存储机制,通过将最新的写操作放在内存中的Memtable,然后定期刷新到磁盘持久化为SSTable,Cassandra将随机写操作转换成了顺序写操作,这可以提升IO性能。最新写入的脏数据是在内存Memtable表中,因此必须有机制来确保异常情况下,能够将内存中的数据恢复出来。和关系型数据库系统一样,Cassandra也是采用的先写日志再写数据的方式,其

2010-03-20 14:01:00 5640

原创 对Debian和Gentoo下部署Cassandra指南

下载Cassandra从 http://incubator.apache.org/cassandra/download/ 选择二进制包下载,包名类似 apache-cassandra-incubating-x.y.z-bin.tar.gz 。设置和运行为了方便,下面所有命令以root身份执行。1.以一个独立节点运行view plainco

2010-03-20 13:58:00 2579

原创 Cassandra + Thrift 安装使用笔记

Cassandra是一个高可扩展性、最终一致性、分布式、结构化的key-value数据库,它借鉴了Amazon的Dynamo和Googles BigTable的数据结构和功能特点,最初来源于Facebook的数据存储项目,目前是Apache的一个孵化项目Thrift是一个跨语言的服务开发框架,目前是Apache的一个孵化项目,Cassandra的客户端需要使用Thri

2010-03-20 13:55:00 3090

原创 详解NoSQL数据库Apache Cassandra的配置

在这里我们将介绍的是NoSQL数据库Apache Cassandra的配置与相关问题。现在数据库市场对于NoSQL的关注度日益升高,我们也该看到未来数据库技术的变革。上次说了安装的问题,可以参考《VirtualBox 虚拟机 Debian系统上安装Cassandra步骤及遇到的问题》。当然,在windows下也可以使用,但是要设置JAVA_HOME参数,然后启动目录bin里的c

2010-03-20 13:53:00 2821

原创 Cassandra存储机制

在2009年兴起的NoSQL运动中,Cassandra是其中重要的一个分布式key-value数据库产品,由Facebook在2008年开源,目前是Apache的顶级项目。最近twitter的一篇声明,表示将从MySQL迁移到Cassandra,更让其声名大振。Cassandra是结合了Google Bigtable的数据模型和Amazon Dynamo高可用框架的一个

2010-03-20 13:52:00 2640

原创 基于Cassandra搭建简单Blog程序后台

需求Blog程序的需求如下:1 允许不同的用户写Blog。 2 Blog内容包括:标题,内容,ID,发布日期。 3 每一篇Blog可以打上任意多个Tag。 4 人们可以在Blog上留言,内容包括:留言内容,留言人的名字,留言时间。设计针对上面的4点需求,我们可以相应地建立4个ColumnFamily(以后用CF简写)来保存数据。Autho

2010-03-20 13:37:00 753

原创 大话Cassandra数据模型

Cassandra是一个开源的分布式数据库,结合了Dynamo的Key/Value与Bigtable的面向列的特点。Cassandra的特点如下:1.灵活的schema:不需要象数据库一样预先设计schema,增加或者删除字段非常方便(on the fly)。2.支持range查询:可以对Key进行范围查询。3.高可用,可扩展:单点故障不影响集群服务,可线性扩展。

2010-03-20 13:36:00 976

原创 Java使用starling分布式消息队列异步处理事务

介绍:   Starling是一个支持MemCache协议的轻量级持久化服务器。Starling是让创建网络访问队列或者多个队列异常简单,也就是说多点和多台机器间的异步工作进程。它是著名微博客网站Twitter开发用来处理大量的队列消息,以及保持服务的响应。Starling已经在生产环境中使用,不仅是Twitter在使用,FiveRuns同样在使用。FiveRuns甚至还根据自

2010-03-20 13:32:00 3086

原创 Tokyo Tyrant(TTServer)系列-介绍和安装

Tokyo Cabinet是日本人 Mikio Hirabayashi(平林幹雄)のページ 开发的一款DBM数据库(注:大名鼎鼎的DBM数据库qdbm就是他开发的),该数据库读写非常快。insert:0.4sec/1000000recordes(2500000qps),写入100万数据只需要0.4秒。search:0.33sec/1000000 recordes(3000000

2010-01-23 09:26:00 1270

原创 Tokyo Tyrant(TTServer)系列-启动参数和配置

启动参数介绍  我们继续来看启动参数和配置。    ttserver命令可以启动一个数据库实例。因为数据库已经实现了Tokyo Cabinet的抽象API,所以可以在启动的时候指定数据库的配置类型。支持的数据库类型有:内存hash数据库内存tree数据库hash数据库B+ tree数据库,  命令通过下面的格式来使用,‘dbname’制定数据库名

2010-01-23 09:25:00 1098

原创 Tokyo Tyrant(TTServer)系列-memcache协议 [

通过memcache协议使用ttserver 通过telnet 127.0.0.1 1978 telnet连接到到我们第一节的启动实例。以下我们通过add增加key为key1和value为value1的数据。通过get key1获取数据,如果你看不明白,可以搜索下memcache协议的东西看下。add key1 1 0 6value1STORED

2010-01-23 09:24:00 1128

原创 Tokyo Tyrant(TTServer)系列-高可用性和高可靠性+nginx

1.基于memcache协议的高可用性1.1构建一个互为主辅的ttserver. 附件: 您所在的用户组无法下载或查看附件图中构建了在ip为177和178两台机器的互为主辅结构的ttserver.1.2在php中实现高可用非常幸运,php的memcache客户端直接就可以实现故障转移的功能。其中的addServer函数

2010-01-23 09:23:00 2571

原创 Tokyo Tyrant(TTServer)系列-备份恢复和增加从库

前面我们说了TTServer的使用,以及如何在开始的时候配置主从。在使用中它非常高效和可靠,那么如果我们的服务运行一段时间后,需要增加一个从库(ttserver)来分担压力或者用于负载均衡和HA,因为是线上系统,那么就不应该停机,那么我们应该怎么对数据进行备份和拷贝,然后启动一个slave从库呢?  1.如何备份和恢复      登录到ttserver服务器,执行如

2010-01-23 09:21:00 1568

原创 distributed key-value store 杂思

    distributed key-value store是当下比较流行的话题,尤其在构建诸如搜索引擎、IM、P2P、游戏服务器、SNS等大型互联网应用以及提供云计算服务的时候,怎样保证系统在海量数据环境下的高性能、高可靠性、高扩展性、高可用性、低成本成为所有系统架构们挖苦心思考虑的重点,而怎样解决数据库服务器的性能瓶颈是最大的挑战。    按照分布式领域的CAP理论(Cons

2010-01-23 03:06:00 1585

原创 为你的mail server增加SPF记录

什么是SPF就是Sender Policy Framework。SPF可以防止别人伪造你来发邮件,是一个反伪造性邮件的解决方案。当你定义了你的domainname的SPF记录之后,接收邮件方会根据你的SPF记录来确定连接过来的IP地址是否被包含在SPF记录里面,如果在,则认为是一封正确的邮件,否则则认为是一封伪造的邮件。关于更详细的信息请参考RFC4408(http://www.iet

2010-01-07 16:55:00 742

原创 35 个你也许不知道的 Google 开源项目

Google是支持开源运动的最大公司之一,它们现在总共发布有超过500个的开源项目(大部分都是利用它们的API来完成),本文将列举一些有趣的开源项目,其中很可能有不少你不知道。文本文件处理:Google CRUSH (Custom Reporting Utilities for SHell)CRUSH是为命令行或shell scripts处理特定文字数据而制作的一系列工具,

2010-01-06 22:53:00 1009

原创 使用Nginx轻松实现开源负载均衡

转载张宴兄弟的大作Nginx (“engine x”) 是俄罗斯人Igor Sysoev(塞索耶夫)编写的一款高性能的 HTTP 和反向代理服务器。Nginx 已经在俄罗斯最大的门户网站── Rambler Media(www.rambler.ru)上运行了3年时间,同时俄罗斯超过20%的虚拟主机平台采用Nginx作为反向代理服务器。在国内,已经有 新浪博客、新

2009-12-25 13:05:00 871

原创 iphone 运行你的Application

 运行你的Application当你做好准备调试你的application,你首先是通过Xcode的Build来构建你的系统,如果Build没有错误的话,你有两种方式可以运行你的Application:iPhone Simulator和DeviceiPhone SDK包括了两个SDK系列:iPhone Simulator SDK和iPhone Device SDK。iPhone S

2009-11-19 08:10:00 1730

原创 python pyc

 什么是pyc文件pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的python是无法执

2009-11-05 23:26:00 2292

原创 linux的filesystem repaier

 挂载了一个new硬盘,结果没有啥用处,可能当时在fstab里也增加了开机挂载的选择。没有注意,有一天就把后加的hard格式化掉了。不小心reboot的时候连不上了。到机房一看,出现错误:fsck 没有发现/dev/sdb1 不能执行下去。然后让我进入一个文件修复过程:An error occurred during the file system check ...  输入登陆密

2009-11-03 18:47:00 631

原创 2款优秀的缓存产品Modcache和Ncache

 1、Modcachemodcache由老阙为lighttpd开发的缓存加速 plugin。其配置类似squid,实际运行中Lighttpd+Modcache比squid更快速更有效。新版modcache 1.7.0 新增加的重大功能是可以把缓存存到内存里,而不只是本地硬盘。这个功能适合缓存小文件,比如小图片,JS,CSS,html文件。实际系统运行对比squid的null

2009-11-03 00:18:00 1264

原创 互联网产品设计的“马化腾法则”

近日,网上流传的一篇腾讯CEO马化腾关于产品设计的内部讲座受到了互联网技术人员的广泛追捧。在这家拥有3000多名研发人员的公司,最多时曾有300多款产品,而且90%以上都在市场上占据着领先地位,申请了1600多项专利。为全业务布局互联网行业腾讯规划最具用户价值的产品,马化腾不仅仅是公司的首席执行官,更是公司的首席体验官和第一产品经理。互联网产品设计的“马化腾法则”:为产品订立优先级和先

2009-08-24 07:01:00 907

原创 Facebook - 150亿张照片海量存贮架构

Facebook 的照片分享很受欢迎,迄今,Facebook用户已经上传了150亿张照片,加上缩略图,总容量超过1.5PB,而每周新增的照片为2亿2000万张,约25TB,高峰期,Facebook每秒处理55万张照片,这些数字让如何管理这些数据成为一个巨大的挑战。本文由 Facebook 工程师撰写,讲述了他们是如何管理这些照片的。旧的 NFS 照片架构 老的照片系统架构分

2009-08-18 07:18:00 1500 1

原创 图文解读Facebook 从设计原则到架构体系

设计原则1尽可能的使用开源软件,并且在需要优化的时候进行优化2Unix 哲学。包括,模块化原则;整合化原则;清晰化原则等3任何组件具备扩展性4最小化故障影响5简化,简化,简化!架构概览Facebook 是 LAMP 的坚定支持者,也差不多是用 LAMP (或许用 LAM2P 更适合) 实现的最大的动态站点。基础组件加上服务,中间用自己实现的一些工

2009-08-18 07:17:00 1699

原创 性能强劲的Tokyo Cabinet 和 Tokyo Tyrant

Tokyo CabinetTokyo Cabinet(简称TC)是MikioHirabayashi开发的一种DBM的开发库,其数据文件只有一个,里面存放多个的数据记录,所有操作都是依据key做主键操作。key,value都可以是连续不定长,即可以是二进制,也可是是字符串。数据文件中的记录组织有三种模式,hash表,B+树,定长数组。做为hash表,主键key必须是唯

2009-08-18 07:15:00 15275

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除