自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 google diffable:差量下载

差量下载,diffable

2010-08-20 12:23:00 1016 1

原创 membase-A distributed key-value database for modern web applications

<br />如果应用中用了memcached,那么毫无疑问可以用membase来持久存储!<br />http://membase.org/<br />Membase is an open-source (Apache 2.0 license) distributed, key-value database management system optimized for storing data be

2010-06-28 16:48:00 1157 2

原创 mysql索引

Chapter 4. Indexes索引有助于MySQL在浩如烟海的数据中迅速找到和取得正确的记录。4.1 Indexing Basics4.1.1 Index Concepts索引是按照某种规则排序的。索引也就是牺牲一些空间和cpu的开销来使你的查询跑得更快点。另外提醒的是,对于MySQL来讲,术语“Key”和 “Index”是可以互相替换的。4.1.1.1 Partial indexes索引是以空间换取性能。但有时候不想耗费太多的空间的话,MySQL有一系列控制索引空间的方法。例

2010-06-12 11:46:00 513

原创 jWebCam摄像头捕捉应用

<br />JWebCam 是一个用来捕捉摄像头中形象的webcam应用,包括申请连接相机Servlet的形象, 从一个申请一个连接到Servlet和Applet的显示器从录像镜头.<br />项目主页:http://jwebcam.sourceforge.net/wordpress/

2010-06-11 10:13:00 804

转载 Smokescreen 项目: 用 HTML5 实现 Flash

<br />一个叫 Chris Smoak 的程序员,最近发起一个使用 JavaScript/HTML5 实现 Flash 功能的开源项目,Smokescreen,可以将 Flash 动画转换为纯 HTML5 + JavaScript,以便脱离 Flash 插件,直接在浏览器中实现 Flash 风格的动画。这里有一些很漂亮的演示。<br /><br />关于这项技术,一个叫 Simon Willison 的程序员,在他的博客中做了很好的剖析:<br />SmokeScreen 完全在浏览器中

2010-06-04 18:15:00 650

原创 amoeba与spring的分布式处理

由于amoeba不能处理事务,所以得在应用层进行事务处理,方案如下:

2010-06-04 16:04:00 2007

转载 Yahoo!的分布式数据平台PNUTS简介及感悟

<br />在分布式领域有个CAP理论(Brewer’s CAP Theorem),是说Consistency(一致性), Availability(可用性), Partition tolerance(分布)三部分在系统实现只可同时满足二点,没法三者兼顾。所以架构设计师不要把精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍,选取最适合应用需求的其中之二。比如MySQL 5.1 cluster设计前显然不知道有CAP理论这样的经验, 所以MySQLcluster表面看来尽

2010-06-04 15:51:00 620

转载 Map 四种同步方式的性能比较

<br />如果需要使 Map 线程安全,大致有这么四种方法:<br /><br />1、使用 synchronized 关键字,这也是最原始的方法。代码如下<br />Java代码 synchronized(anObject)  {      value = map.get(key);  }  synchronized(anObject)<br />{<br /> value = map.get(key);<br />}<br /><br /><br />JDK1.2 提供了

2010-06-04 15:50:00 554

转载 java中HashMap的实现方式

<br />HashMap可谓JDK的一大实用工具,把各个Object映射起来,实现了“键--值”对应的快速存取。但实际里面做了些什么呢? <br /><br />  在这之前,先介绍一下负载因子和容量的属性。大家都知道其实一个 HashMap 的实际容量就 因子*容量,其默认值是 16×0.75=12;这个很重要,对效率很一定影响!当存入HashMap的对象超过这个容量时,HashMap就会重新构造存取表。这就是一个大问题,我后面慢慢介绍,反正,如果你已经知道你大概要存放多少个对象,最

2010-06-04 15:50:00 754

转载 Java 6 JVM参数选项大全(中文版)

Java 6 JVM参数选项大全(中文版)<br /> <br />作者:Ken Wu<br />Email:[email protected]<br />转载本文档请注明来自 KenWu`s Blog!<br /> <br />本文是基于最新的SUN官方文档Java SE 6 Hotspot VMOptions 编写的译文。主要介绍JVM中的非稳态选项及其使用说明。<br />为了让读者明白每个选项的含义,作者在原文基础上补充了大量的资料。<br />因为是初稿,如有描述错误,

2010-06-04 15:48:00 766

转载 java虚拟机垃圾回收机制

<br />一、相关概念<br /> <br />基本回收算法引用计数(Reference Counting)<br />比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。标记-清除(Mark-Sweep)<br />此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。此算法需要暂停整个应用,同时,会产生内存碎片。复制(Copyi

2010-06-04 15:47:00 4414

原创 LAMP网站架构方案分析

<br />LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质

2010-06-04 15:46:00 631

转载 大型网站架构演变和知识体系

<br />之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互联网行业的同学一点初步的概念,:),文中的不对之处也请各位多给点建议,让本文真正起到抛砖引

2010-06-04 15:45:00 488

转载 MYSQL架构方案

<br />Scale Out:横向扩展,增加处理节点提高整体处理能力<br />Scale Up:纵向扩展,通过提升单个节点的处理能力达到提升整体处理能力的目的<br /><br />Replication<br />MySQL的replication是异步的,适用于对数据实时性要求不是特别关键的场景。slave端的IO线程负责从master读取日志,SQL线程专门负责在slave端应用从master读过来的日志(早期MySQL用一个线程实现,性能问题比较明显)。使用replica

2010-06-04 15:44:00 472

转载 Linux下Apache + Tomcat*2集群 负载平衡配置

<br />安装JDK、安装Apache、安装Tomcat、配置Apache代理、配置Tomcat集群 <br /><br />一、安装JDK(所有运行Tomcat主机,即web服务器) <br />  1.下载JDK的bin包,如jdk-1_5_0_02-linux-i586.rpm.bin ,给其添加执行权限,执行#./jdk-1_5_0_02-linux-i586.rpm.bin , 在 <br /><br />当前目录生成rpm安装包,同样给其添加执行权限。 再执行

2010-06-04 15:42:00 494

转载 ROBBIN - NoSQL数据库探讨之一 - 为什么要用非关系数据库?

随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如:<br /><br /><br />1、High performance - 对数据库高并发读写的需求<br /><br />web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所

2010-06-04 15:41:00 668

转载 架构师和管理人员最有影响力的书籍

2009-11-05 16:24:47添加 1. 解析极限编程:拥抱变化(第二版)(中英文对照)<br />作者 : (美)贝克<br />出版社 : 电子工业出版社<br />评语 : Kent Back)是一本不错的极限编程(XP)入门书,它能够让你即使在从未了解过任何敏捷方法的情况下,也能够很好地进行阅读。但是,还不能将它作为一本参考书来看。2009-11-05 17:57:28添加 2.

2010-06-04 15:40:00 758

转载 [MYSQL] LINUX下配置mysql双机备份 master/slave主从

<br />MySQL 提供 Master/Slave 机制让您轻易的完成多个 MySQL Server 之间的数据同步,有了多个数据同步的 MySQL Server 在管理上会较有弹性,例如你可以建置备援主机或是进行负载平衡等等。但是要注意:<br />一台 Master Server 可以拥有很多台 Slave Server;但一台 Slave Server 只可对应到一台 Master Server<br /><br />1.环境<br />

2010-06-04 15:38:00 537

转载 高性能、高流量互联网应用系统架构设计上所遵循的基本原则

<br />高性能、高流量互联网应用系统架构设计上所遵循的基本原则。 <br /><br />    原则一:假设故障总会发生(design with failure in mind)<br />    在设计和实现大型互联网在线应用时,架构师必须考虑到系统各模块、各应用服务器、各开源应用软件的故障比率和失效的潜在原因。当服务的可用性(availability)成为系统设计的首要目标时,尤其需要在设计阶段就充分考虑如何在系统某部分发生故障时,仍然保持一定的服务可用

2010-06-04 15:37:00 894

转载 性能测试之:会引起全表扫描的几种Sql

<br />1. 模糊查询效率很低:<br />原因:like本身效率就比较低,应该尽量避免查询条件使用like;对于like ‘%...%’(全模糊)这样的条件,是无法使用索引的,全表扫描自然效率很低;另外,由于匹配算法的关系,模糊查询的字段长度越大,模糊查询效率越低。<br />解决办法:首先尽量避免模糊查询,如果因为业务需要一定要使用模糊查询,则至少保证不要使用全模糊查询,对于右模糊查询,即like ‘…%’,是会使用索引的;左模糊like<br />‘%...’无法直接使用索

2010-06-04 15:35:00 535

原创 用(Hudson+Subversion+Ant+JUnit)搭建了个持续集成(Continuous Integration)环境

<br />为了让接下来的研发工作能更顺利地开展,我花了点时间给新团队搭建了个持续集成环境。这里用到的工具主要有:Hudson、Subversion、Ant及JUnit等等。关于持续集成这个概念,有兴趣的可以参考Martin Fowler的一篇文章:Continuous Integration。之前,对那些JAVA编写的服务程序,我们采用的构建方式很原始:手动写Shell脚本,把 SVN中的JAVA源码编译成JAVA字节码。应该说,在团队规模较小(不需要太多的协同工作)、部署环境单一(我们之前只部署

2010-06-04 15:34:00 1207

转载 Resin服务器配置指南

1       修改历史<br /> 版本修改历史 作者描述工作时间(h)V0.12007-6-7张乐雷创建文档得基本结构、基本流程0.5V0.1.12007-6-11张乐雷增加了对: 日志配置的详细解析。0.5V0.22007-7-4张乐雷增加:session-config的配置解释0.1V0.32007-8-5张乐雷增加:resin概念解释0.1V0.42007-8-31张乐雷增加:常见问题中,集成配置方法0.1V0.52007-9-10张乐雷增加:resin不能启动问题解决办法0.1V0.620

2010-06-04 15:32:00 649

转载 搭建mysql master-slave replication

<br />[MYSQL] 搭建mysql master-slave replication<br />本篇文章记录了如何搭建一个master-slave架构的mysql数据库服务器,一般用于读写分离的场景下:master for INSERT/UPDATE/DELETE,slave for SELECT。<br />根据实战结果,在master-connect-retry=5的情况下,基本可以做到读写同步(可以打开slave的log文件来观察同步结果:tail -f /var/run/

2010-06-04 15:31:00 435

转载 每月3亿PV的FaceBook朋友买卖插件的架构与数据

<br />在短短的三个月时间内,朋友买卖成为facebook前十名的应用,它每秒钟处理200个请求,每月产生300 000 000个page view。在技术上,选择了Ruby on Rails框架,两个兼职程序员,一打服务器,和优秀的架构。<br /><br /> <br /><br />架构<br /><br />l Ruby on Rails<br /><br />l CentOS 5(64bit)<br /><br />l Capistrano 升级和重启应用服务器

2010-06-04 15:29:00 813

转载 高考中国网高可用、负载均衡、可扩展设计与实现

<br />高考中国主要包含“高考志愿通”志愿填报系统的研究开发、产品运营;高考中国网站(www.gaokaochina.com)的开发、维护与运营。<br /><br />“高考志愿通”是经过数十位全国高考志愿填报指导专家、计算机网络专家、数学模型专家和数据统计专家历时多年精心打造。成为中国第一套高考志愿填报综合分析系统,信息最全最新的高考志愿填报综合分析系统,分析最科学、最精确的填报指导系统。<br /><br />目前已经开发了服务全国高考考生的志愿填报

2010-06-04 15:28:00 1035

转载 对扩展性的思考

<br />可扩展性(Extensibility): 构建灵活系统的思考<br />系统, 构建, 思考<br />从我理解,在软件范畴上,是软件系统本身的属性,或者进一步说是设计的属性,代码的属性。因为我们经常说设计的可扩展性,代码的可扩展性。那与之相对应的是什么呢?是变化,软件环境的变化(可能是业务环境,运行环境)导致软件要进行改动才能满足人们对它的要求,这种系统本身适应变化的能力就是可扩展性。<br />      首先让我们来看看目前系统被扩展的几种形式:<br />  

2010-06-04 15:27:00 527

转载 2010架构技术建议

<br />编程语言<br />首先要能跳出语言之争及语言偏见,架构师需要在中立的角度选择最合适团队的语言,避免在技术决策中加入过多个人喜好。在系统语言层面,主要可关注以下几种<br />Erlang, 会继续在小圈子内流行,业界应用Erlang技术最大的障碍不是Erlang技术本身,而在于缺乏这方面专业人才。<br /><br />Scala, 和Erlang不同,Scala有成熟JVM及丰富的周边library,在异构系统中集成也很容易,新项目使用Scala风险很小,所以Scal

2010-06-04 15:26:00 396

转载 游戏服务器的架构设计

<br />游戏服务器的设计是一项颇有挑战性的工作,游戏服务器的发展也由以前的单服结构转变为多服机构,甚至出现了bigworld引擎的分布式解决方案,最近了解到Unreal的服务器解决方案atlas也是基于集群的方式。<br />负载均衡是一个很复杂的课题,这里暂不谈bigworld和atlas的这类服务器的设计,更多的是基于功能和场景划分服务器结构。<br />首先说一下思路,服务器划分基于以下原则:<br />1:分离游戏中占用系统资源(cpu,内存,IO等)较多的功能,独立成服务器<b

2010-06-04 15:25:00 297

转载 用Amoeba构架MySQL分布式数据库环境

<br />Amoeba是一个类似MySQL Proxy的分布式数据库中间代理层软件,是由陈思儒开发的一个开源的java项目。其主要功能包括读写分离,垂直分库,水平分库等,经过测试,发现其功能和稳定性都非常的不错,如果需要构架分布式数据库环境,采用Amoeba是一个不错的方案。目前Amoeba一共包括For aladdin,For MySQL和For Oracle三个版本,本文主要关注For MySQL版本的一个读写分离实现。实

2010-06-04 15:23:00 371

转载 人人网使用的开源软件列表

MySQL关系型数据库存储系统,我们的DBA团队很强大,每人管理上百台MySQL服务器,其他就不多说了,网上资料太多了Tokyo Cabinet一个key-value的存储引擎,日本人开发,国内很多公司也开始使用,我们内部很多地方也用它来代替MySQL来做存储,比如我们的搜索结果页的用户资料,就是用它来做一层MySQL外的冗余存储,目的是加快搜索结果页的显示。在key-value并需要持久存储的场景下,用它比MySQL更有效,Cabinet本身只是一个存储引擎,没有网络处理能力,你可

2010-06-04 15:22:00 357

转载 大型网站架构系列

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

2010-06-04 15:20:00 328

转载 盘点:10个你需要知道的开源服务器技术

<br />如果你认为开源服务器技术只是针对Linux操作系统而言,那么还是再好好考虑一下吧。尽管这些软件项目和Linux非常匹配,但都不是本文探讨的十大开源技术产品的组成部分。开源软件不再仅仅局限于Linux的应用环境。事实上,如今的开源技术已经完全跨越了所有的操作系统壁垒,就连微软公司都推出了他们自己的开源实验室(名为Port 25),并成为旧金山开源企业大会的白金级发起者。为了让读者更为清晰的了解目前热门的10大以服务器为导向的开源技术,笔者专门编纂了一份供读者参考和挖掘的项目和应用软件详

2010-06-04 15:19:00 353

转载 从概念设计到信息架构

<br />很多朋友都在研究《Web信息架构》,这是一本关于解决“如何将信息有效整理编排”问题的巨著。是否有更多的朋友会疑惑?在我们已经了解了如何整理信息之后,面对世界上成百上千的信息,哪些是需要针对当前项目进行整理呢?<br />如果说信息架构(IA:Information Architecture)教给了我们如何包饺子,那么概念设计(CD:Concept Design)将教给我们什么样的馅料更美味可口。<br />今天要谈的概念设计并非“产品概念设计”,而是对

2010-06-04 15:18:00 181

转载 软件架构学习

<br />软件架构设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。本文从架构师职责、软件架构定义、设计架构、评估架构、架构管理等方面来描述了解软件架构的含义和怎样设计软件架构。<br /> <br />一、软件架构师的职责<br />架构师分为以下几大类:业务架构师、主题领域架构师、技术架构师、项目架构师(J2EE架构师、.NET架构师等)、系统架构师。<br />1、架构师的职责主要体现<br />架构师的职

2010-06-04 15:17:00 896

转载 腾讯敏捷框架TAPD(Tencent Agile Product Development)

<br />有一篇文章写得挺好.不知道原文出在哪儿.不确定是不是R&D研发总监(王速瑜)在QClub上讲的,这里和大家分享一下.文章主要介绍了敏捷开发的特性和框架,目标.我们可以把它看作是研发工程师的方法和思考,也可以看作是项目管理的流程和方法,FDD同样适用于视觉设计师及交互设计师.以及SCRUM运用在敏捷开发中的(产品->达标分解->冲刺->产品增量)模式同样值得每一位设计师思考.无论FDD还是SCRUM,告诉我们一个道理”结果很重要,方法更重要”.<br /><br />关于FDD和S

2010-06-04 15:15:00 1170

转载 设计模式

<br />设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。 GoF的“设计模式”是第一次将设计模式提升到理论高度,并将之规范化,本书提出了23种基本设计模式,自此,在可复用面向对象软件的发展过程中,新的大量的设计模式不断出现。 一、设计模式和框架 现

2010-06-04 15:14:00 284

转载 Mysql 优化的资料

<br />Mysql 百万级数据优化资料<br />一、我们可以且应该优化什么?<br />硬件<br />操作系统/软件库<br />SQL服务器(设置和查询)<br />应用编程接口(API)<br />应用程序<br />——————————————————————————–<br /><br />二、优化硬件<br />如果你需要庞大的数据库表(>2G),你应该考虑使用64位的硬件结构,像Alpha、Sparc或即将推出的

2010-06-04 15:13:00 406

原创 系统架构师必备知识系统架构师必备知识

<br />软件架构一般概念<br />.软件架构师的角色以及最难处理的问题<br />.系统架构的核心原则<br />.系统架构设计的特点、层次、分类<br />.系统架构设计的构想、节奏、预测、验证<br />.系统架构设计的协作和简化<br />.系统架构的主要理论、方向和趋势<br />.如何成为一个好的系统架构师<br /><br />信息化模型与需求过程与领域建模<br />.网络支撑平台模型建立<br />.信息应用平

2010-06-04 15:12:00 986

转载 社会化软件 – 又一个影响社会的应用

<br />根据个人视角,你可能会觉得社会化软件很火爆或很过时,你知道这些东西: Facebook, MySpace, Twitter, YouTube, Flickr, Foursquare…现在一谈及网络,就不可避免会提到这些应用,显然,社会化软件正在迅速成为我们日常生活的一部分。<br /><br />这种趋势不仅仅发生在个人用户身上,同样的,公司和大型组织也在试图从社会化网络以及脱胎换骨的协作工具上获利。它们希望能够按照 facebook 的方式 组织自己

2010-06-04 15:10:00 1623

转载 产品规划师职责

<br />做为一名新进产品经理,甚至一名资深PM,<br />你可能都或多或少对这个职位产生某种迷惑。到底什么是产品经理?这个职位的主要职责是什么?在IT产业的不同领域,甚至在同一领域的不同公司,这个职位的定义似乎都有不同。<br />  本文尝试根据自己多年的产品经理经验,给出产品经理的主要职责。虽然在不同的公司,产品经理的角色和职责互有差异,但是有一些关键职责是任何一个产品经理都应承担的。可以将其归纳为如下六个方面:<br />先来看一张产品规划师MM思维图。<br /><br />1

2010-06-04 15:08:00 1337

空空如也

空空如也

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

TA关注的人

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