Architecture
booboo2006
I am a Java software engineer.
展开
-
[转贴] Map Reduce - the Free Lunch is not over?
微软著名的C++大师Herb Sutter在2005年初的时候曾经写过一篇重量级的文章:”The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software“,预言OO之后软件开发将要面临的又一次重大变革-并行计算。摩尔定律统制下的软件开发时代有一个非常有意思的现象:”Andy giveth, and Bill转载 2008-07-22 16:52:00 · 476 阅读 · 0 评论 -
亿万用户网站MySpace的成功秘密
增长的访问量给社区网络的技术体系带来了巨大挑战。MySpace的开发者多年来不断重构站点软件、数据库和存储系统,以期与自身的成长同步——目前,该站点月访问量已达400亿。绝大多数网站需要应对的流量都不及MySpace的一小部分,但那些指望迈入庞大在线市场的人,可以从MySpace的成长过程学到知识。用户的烦恼 Drew,是个来自达拉斯的17岁小伙子,在他的M转载 2008-12-17 11:30:00 · 718 阅读 · 0 评论 -
Composition versus Inheritance - A Comparative Look at Two Fundamental Ways to Relate Classes
One of the fundamental activities of any software system design is establishing relationships between classes. Two fundamental ways to relate classes are inheritance and composition. Although the comp转载 2009-12-18 10:18:00 · 779 阅读 · 0 评论 -
深入浅出classloader
Java中所有的类都是通过classloader加载的,classloader可以为java程序提供很好的动态特性,深入了解非常有必要。1)classloader的分类 从上图看到classloader默认有3类,BootstrapLoaderExtClassLoaderAppClassLoader同时你也可以定制自己的classloader这转载 2009-12-25 15:12:00 · 660 阅读 · 0 评论 -
Scaling Your Java EE Applications - Part 2
If you cannot satisfy the performance with one server node when concurrent users are increasing dramatically, or you cannot scale your Java applications with one JVM instance due to the limitation of garbage collectio转载 2010-07-06 11:29:00 · 861 阅读 · 0 评论 -
Under the Hood of J2EE Clustering
Preface <br /> More and more mission-critical and large scale applications are now running on Java 2, Enterprise Edition (J2EE). Those mission-critical applications such as banking and billing ask for more high availability (HA), while those large s转载 2010-07-06 15:59:00 · 844 阅读 · 0 评论 -
Java EE meets Web 2.0
Web 2.0 applications developed using standard Java™ Platform, Enterprise Edition 5 (Java EE)-based approaches face serious performance and scalability problems. The reason is that many principles that underlie the Java EE platform's design — especially, th转载 2010-07-13 15:26:00 · 1680 阅读 · 0 评论 -
BASE: An Acid Alternative
Base: An Acid AlternativeIn partitioned databases, trading some consistency for availability can lead to dramatic improvements in scalability. DAN PRITCHETT, EBAY<br />Web applications have grown in popularity over the past decade. Whether you are buil转载 2010-07-13 15:24:00 · 1090 阅读 · 0 评论 -
MVC的优点及不足之处
MVC的优点及不足之处转载 2010-08-19 16:55:00 · 859 阅读 · 0 评论 -
Database Partition Articles
Database Partition Articles转载 2010-09-23 10:02:00 · 466 阅读 · 0 评论 -
CAP原理和BASE思想
CAP原理和BASE思想转载 2011-01-17 13:15:00 · 1365 阅读 · 0 评论 -
Twitter“鲸鱼”故障技术剖析
Twitter“鲸鱼”故障技术剖析转载 2011-01-20 18:02:00 · 3915 阅读 · 0 评论 -
总结一致性哈希(Consistent Hashing)
在大型web应用中,缓存可算是当今的一个标准开发配置了。在大规模的缓存应用中,应运而生了分布式缓存系统。分布式缓存系统的基本原理,大家也有所耳闻。key-value如何均匀的分散到集群中?说到此,最常规的方式莫过于hash取模的方式。比如集群中可用机器适量为N,那么key值为K的的数据请求很简单的应该路由到hash(K) mod N对应的机器。的确,这种结构是简单的,也是实用的。但是在一些高速发展转载 2011-10-25 11:19:47 · 2260 阅读 · 0 评论 -
CAP理论十二年回顾:"规则"变了
CAP理论断言任何基于网络的数据共享系统,最多只能满足数据一致性、可用性、分区容忍性三要素中的两个要素。但是通过显式处理分区情形,系统设计师可以做到优化数据一致性和可用性,进而取得三者之间的平衡。自打引入CAP理论的十几年里,设计师和研究者已经以它为理论基础探索了各式各样新颖的分布式系统,甚至到了滥用的程度。NoSQL运动也将CAP理论当作对抗传统关系型数据库的依据。CAP理论主张任何基于转载 2012-06-11 15:23:33 · 4528 阅读 · 0 评论 -
构建可扩展的JavaEE应用(二)
原文地址:http://www.theserverside.com/tt/articles/article.tss?l=ScalingYourJavaEEApplicationsPart2当并发用户数明显的开始增长,你可能会不满意一台机器所能提供的性能,或者由于单个JVM实例gc的限制,你没法扩展你的java应用,在这样的情况下你可以做的另外的选择是在多个JVM实例或多台服务器上运行你的系转载 2008-10-14 09:06:00 · 816 阅读 · 0 评论 -
Uncover the Hood of J2EE Clustering
原文地址 http://www.theserverside.com/tt/articles/article.tss?l=J2EEClustering Preface More and more mission-critical and large scale applications are nowrunning on Java 2, Enterprise Edition (J2EE).转载 2008-10-14 09:11:00 · 705 阅读 · 0 评论 -
构建可扩展的JavaEE应用(一)
原文地址: http://www.theserverside.com/tt/articles/article.tss?l=ScalingYourJavaEEApplications对于一个具备使用价值的应用而言,其使用者有可能会在一段时间内疯狂的增长。随着越来越多的关键性质的应用在JavaEE上运行,很多的Java开发者也开始关注可扩展性的问题了。但目前来说,大部分的web2.0站转载 2008-10-14 09:04:00 · 1065 阅读 · 1 评论 -
[转贴] 从LiveJournal后台发展看大规模网站性能优化方法
于敦德 2006-3-16一、LiveJournal发展历程LiveJournal是99年始于校园中的项目,几个人出于爱好做了这样一个应用,以实现以下功能: 博客,论坛社会性网络,找到朋友聚合,把朋友的文章聚合在一起LiveJournal采用了大量的开源软件,甚至它本身也是一个开源软件。 在上线后,LiveJournal实现了非常快速的增长:2004年4月份:280万转载 2008-07-30 16:26:00 · 689 阅读 · 0 评论 -
几个关于构架方面的网站
http://highscalability.com/http://groups.google.com/group/scalablehttp://qconsf.com/http://d.scribd.com/docs/3e3q9y2hlic267udt02.pdfhttp://www.dbanotes.net/http://www.example.net.cn/http://www原创 2008-07-30 16:32:00 · 634 阅读 · 0 评论 -
[转贴] 说说大型高并发高负载网站的系统架构(更新)
我在CERNET做过拨号接入平台的搭建,而后在Yahoo&3721从事过搜索引擎前端开发,又在MOP处理过大型社区猫扑大杂烩的架构升级等工作,同时自己接触和开发过不少大中型网站的模块,因此在大型网站应对高负载和并发的解决方案上有一些积累和经验,可以和大家一起探讨一下。 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面转载 2008-07-30 17:00:00 · 552 阅读 · 0 评论 -
构建可扩展的Java EE应用(一)
原文地址: http://www.theserverside.com/tt/articles/article.tss?l=ScalingYourJavaEEApplications对于一个具备使用价值的应用而言,其使用者有可能会在一段时间内疯狂的增长。随着越来越多的关键性质的应用在JavaEE上运行,很多的Java开发者也开始关注可扩展性的问题了。但目前来说,大部分的web2.0站转载 2008-08-05 11:50:00 · 570 阅读 · 0 评论 -
构建可扩展的Java EE应用(二)
原文地址:http://www.theserverside.com/tt/articles/article.tss?l=ScalingYourJavaEEApplicationsPart2当并发用户数明显的开始增长,你可能会不满意一台机器所能提供的性能,或者由于单个JVM实例gc的限制,你没法扩展你的java应用,在这样的情况下你可以做的另外的选择是在多个JVM实例或多台服务器上运行你的系转载 2008-08-05 11:51:00 · 653 阅读 · 0 评论 -
jive备忘--浅析jive缓存
jive的缓存非常简单,很适合初学者提升功力,这里将jive缓存几个关键的地方拿出来与大家分享一下。 首先,让我们对jive缓存的类库有个框架性认识,如图: 上图所列的,就是jive实现缓存所用的几个关键类。主要包括Cache,Cacheable,CacheObject,LinkedList以及和此类似的一整套Long的Cache类。现在把以上每个功能分别叙述一下。L转载 2008-08-05 14:42:00 · 672 阅读 · 0 评论 -
[转贴] 体验Amazon EC2
EC2全称Amazon Elastic Compute Cloud,是Amazon 2006年推出的新一代hosting服务,目前仍在beta阶段,但已在硅谷火热蔓延中。 EC2作为一个grid系统,on-demand方式的灵活消费是最突出的特点。按小时收费($0.1/hr/instance),需要负载或计算量高的时候就多开几个instance,不用了关掉。 不再有传统hosting的固定合转载 2008-06-24 20:19:00 · 566 阅读 · 0 评论 -
[转载] Amazon EC2受到J2EE和Groovy开发者的青睐
尽管软件即服务(Software as a Service——SaaS)的思想逐渐为人接受,而硬件即服务(HaaS)仍是一个新概念。这种服务的一个例子是Amazon的弹性计算云(Elastic Computer Cloud——EC2),它是于2006年夏天宣布的。EC2是一个基于Xen管理程序结构的计算服务。它允许开发者创建基于Linux的虚机,这种创建过程既可以从零开始也可以使用预先构建好的映像转载 2008-06-24 20:21:00 · 680 阅读 · 0 评论 -
[转贴] 著名社交网站LinkedIn的Java架构技术
在JavaOne 2008的会议上,著名社交网站LinkedIn的开发者做了2个关于LinkedIn网站的架构技术的演讲,目前这两个演讲的PPT已经可以下载了。下载地址如下: LinkedIn - A Professional Social Network Built with Java™ Technologies and Agile Practices Linke转载 2008-06-26 16:25:00 · 1664 阅读 · 0 评论 -
[转贴] 大型网站架构技术方案集锦
进入WEB2.0时代,各类标新立异的网站层出不穷,并且web 2.0所倡导的紧密用户交互性更是对网站开发水平提出更高要求,尤其在数据库的读写操作频率上,和web1.0相比瞬间死锁、系统崩溃是一触即发。如果仅仅通过优化你程序代码、采用优秀的MVC开放框架、优化数据库查询语句和索引等已经让开放人员略显心有余而力不足,此时必须从网站的全局架构、用户访问惯性上权衡分析,但是对于我们大多数技术人员恰恰缺转载 2008-06-24 19:58:00 · 828 阅读 · 0 评论 -
[转载] 类似Google构架的开源项目Hadoop近获社区关注
类似Google构架的开源项目Hadoop 已经存在一年多了,现在正受到来自开发社区的广泛关注。下面是来自Hadoop官网 的消息: Hadoop是一个软件平台,可以让你很容易地开发和运行处理海量数据的应用……Hadoop是MapReduce 的实现,它使用了Hadoop分布式文件系统(HDFS)。MapReduce将应用切分为许多小任务块去执行。出于保证可靠性的考虑,HDFS会为数据块创建多转载 2008-06-24 20:29:00 · 597 阅读 · 0 评论 -
[转贴] Google背后的IT架构策略揭秘
Google是与众不同的。它的独特不仅仅表现于革新的思维和充满创意的应用 (比如那个大堂里的地球模型),更在于其有别常规的IT策略…… 加利福尼亚州山景城(Mountain View)Google公司(Google,下称Google)总部有一个43号大楼,该建筑的中央大屏幕上显示着一个与Google地球(Google Earth)相仿的世界地图,一个转动的地球上不停地闪动着五颜六色的光转载 2008-06-24 20:05:00 · 552 阅读 · 0 评论 -
[转载] Google平台构架介绍
Google是伸缩性的王者。Google一直的目标就是构建高性能高伸缩性的基础组织来支持它们的产品。平台: Linux 大量语言:Python,Java,C++状态 在2006年大约有450,000台廉价服务器 在2005年Google索引了80亿Web页面,现在没有人知道数目 目前在Google有超过200个GFS集群。一个集群可以有1000或者甚至5000台机器。成千上万的机器转载 2008-06-24 20:27:00 · 1834 阅读 · 1 评论 -
深入浅出 RPC - 浅出篇
近几年的项目中,服务化和微服务化渐渐成为中大型分布式系统架构的主流方式,而 RPC 在其中扮演着关键的作用。 在平时的日常开发中我们都在隐式或显式的使用 RPC,一些刚入行的程序员会感觉 RPC 比较神秘,而一些有多年使用 RPC 经验的程序员虽然使用经验丰富,但有些对其原理也不甚了了。 缺乏对原理层面的理解,往往也会造成开发中的一些误用。本文分上下两篇《浅出篇》和《深入篇》,其目标就是想尝试转载 2015-11-17 15:28:27 · 2055 阅读 · 0 评论