
分布式
文章平均质量分 81
mousever
这个作者很懒,什么都没留下…
展开
-
基于 Struts2 标签的 BigPipe 技术实现
引言Facebook 创立了一项技术名为 BigPipe。该技术改善了 Facebook 用户的用户体验,减少页面加载等待时间,它的原理简单、合理。本文借鉴 BigPipe 的思想,针对 Struts2 和 JSP 技术的特点,实现了单线程与多线程版的 BigPipe。两种版本的实现各有优缺点,它们与 Facebook 的 BigPipe 不尽相同,其中多线程版的 BigPipe 实现与 Fa转载 2012-03-25 22:14:52 · 558 阅读 · 0 评论 -
大型网站的负载均衡器、db proxy和db
本文主要分析网站后台架构中的负载均衡器,企业常用的硬件负载均衡器软件负载均衡器、数据库代理服务器和数据库。1.1 负载均衡在大型网站部署中,负载均衡至少有三层部署。第一层为web server或者缓存代理之上的负载均衡,第二层为数据库之上的负载均衡,第三层为存储设备之上的负载均衡。在第一层部署中,最常使用的是硬件负载均衡器有F5 BIG-IP、Citrix NetScaler、Radw转载 2012-04-22 17:26:47 · 435 阅读 · 0 评论 -
从上百幅架构图中学得半点大型网站建设经验(上)
引言 近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,常常见识到不少精妙绝伦的架构图。除了每每感叹于每幅图表面上的绘制的精细之外,更为架构图背后所隐藏的设计思想所叹服。个人这两天一直在搜集各大型网站的架构设计图,一为了一饱眼福,领略各类大型网站架构设计的精彩之外,二来也可供闲时反复琢磨体会,何乐而不为呢?特此,总结整理了诸如国外wikipedia,Facebook,Yahoo转载 2012-05-07 21:29:20 · 1290 阅读 · 0 评论 -
大型网站后台架构的web server与缓存
网站的web server与缓存1.1 Web serverWebserver 用来解析HTTP协议。当web 服务器接收到一个HTTP请求时,会返回一个HTTP响应,例如送回一个HTML页面。为了处理一个请求,web服务器可以响应一个静态页面或者图片。进行页面跳转,或者把动态响应的产生委托给一些其它的程序完成,比如CGI,JSP,servlets,ASP,PHP脚本。当用户访问一转载 2012-04-22 17:18:45 · 465 阅读 · 0 评论 -
大型网站的监控、报警与故障转移
本章主要从大型网站的后台监控机制、报警机制和故障转移、服务切换等内容来论述。然后给出一个监控、报警和故障转移的解决方案。1.1 监控预警现代大型互联网公司主要有电子商务公司、社交网站公司和搜索引擎公司。在电子商务网站公司中,taobao.com的点击量在国内是最高的。日点击量20亿以上。而这个点击量还不是均匀分不到24个小时,而是分布在几个时间段。因为人们的购物时间是集中在几个不同的时间段转载 2012-04-22 17:24:19 · 530 阅读 · 0 评论 -
【译】构建可扩展的Java EE应用(二)
原文地址:http://www.theserverside.com/tt/articles/article.tss?l=ScalingYourJavaEEApplicationsPart2当并发用户数明显的开始增长,你可能会不满意一台机器所能提供的性能,或者由于单个JVM实例gc的限制,你没法扩展你的java应用,在这样的情况下你可以做的另外的选择是在多个JVM实例或多台服务器上运行你的系转载 2012-04-22 17:54:31 · 537 阅读 · 0 评论 -
Netty初步之hello world
最近接触用netty,本来以为有些功能不能实现,后来论坛上请教了大拿,发现netty还是很强大的,先从基本开始,做个记录,下文从其他地方转载,觉得还是比较易懂的,因此记下来供大家入门之用。Java的网络操作一直比较复杂,虽然说在加入NIO之后简单了些,但还不是我这些菜鸟玩得起的,由于存在大量低层操作和协议处理,所以在使用上面还是很难。迄今为止,还没有用NIO写出稳定可靠的网络操作,也许这和具体转载 2013-07-19 09:45:26 · 573 阅读 · 0 评论 -
解决TCP网络传输“粘包”问题
当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API)。TCP/IP传输层有两个并列的协议:TCP和UDP。其中TCP(transport control protocol,传输控制协议)是面向连接的,提供高可靠性服务。UDP(user datagram protocol,用户数据报协议)是无连接的,提供高效率服务。在实际工程应用中,对可靠性和效率的转载 2013-07-19 21:48:02 · 1370 阅读 · 0 评论 -
Netty多线程处理机制
技术点描述 本文主要研究NioServerSocketChannelFactory类和NioDatagramChannelFactory类,以及这两个类的各自作用。 由于基于pipelineFactory的线程池的配置已在前一节(Netty中execution包功能详解)中做了详细说明,而channelFactory中的线程池的配置并未做说明,本文档重点阐述channe转载 2013-07-19 21:50:52 · 1112 阅读 · 0 评论 -
Netty多线程配置机制
本文主要是对前一节(Netty多线程机制)中的一些未提及的有用的类(可控制可配置类)做进一步解释说明,由于NIO包和OIO包中类比较多,此文仅介绍与多线程相关的且有对外开放接口的类进行分析。NIO包结构如下图所示: 本文档主要讲解此包中的 DefaultNioDatagramChannelConfig类、NioDatagramChannelConfig接口、Ni转载 2013-07-19 22:18:39 · 2255 阅读 · 0 评论 -
Netty服务器线程模型概览
一切从ServerBootstrap开始ServerBootstrap负责初始话netty服务器,并且开始监听端口的socket请求。bootstrap bootstrap = new ServerBootstrap( new NioServerSocketChannelFactory( Executors.newCachedThreadPool(),//boss线程池 Exe转载 2013-08-08 16:22:54 · 605 阅读 · 0 评论 -
大数据下的数据分析平台架构
随着互联网、移动互联网和物联网的发展,谁也无法否认,我们已经切实地迎来了一个海量数据的时代,数据调查公司IDC预计2011年的数据总量将达到1.8万亿GB,对这些海量数据的分析已经成为一个非常重要且紧迫的需求。作为一家互联网数据分析公司,我们在海量数据的分析领域那真是被“逼上梁山”。多年来在严苛的业务需求和数据压力下,我们几乎尝试了所有可能的大数据分析方法,最终落地于Hadoop平台之上。转载 2013-08-23 15:31:35 · 675 阅读 · 0 评论 -
Hadoop 2.0 NameNode HA和Federation实践
2013年,InfoQ将会密切关注大数据领域的最新进展,并在“大数据专栏“中向读者展示优秀的开发实践,欢迎大家向InfoQ投稿和广大的开发者分享在大数据的开发经验和心得,投稿地址:editors@cn.infoq.com。一、背景天云趋势在2012年下半年开始为某大型国有银行的历史交易数据备份及查询提供基于Hadoop的技术解决方案,由于行业的特殊性,客户对服务的可用性有着非常高的要求,而转载 2013-09-04 09:50:03 · 931 阅读 · 0 评论 -
Hadoop 新 MapReduce 框架 Yarn 详解
简介: 本文介绍了 Hadoop 自 0.23.0 版本后新的 map-reduce 框架(Yarn) 原理,优势,运作机制和配置方法等;着重介绍新的 yarn 框架相对于原框架的差异及改进;并通过 Demo 示例详细描述了在新的 yarn 框架下搭建和开发 hadoop 程序的方法。读者通过本文中新旧 hadoop map-reduce 框架的对比,更能深刻理解新的 yarn 框架的技术原理和设转载 2013-09-04 10:00:15 · 569 阅读 · 0 评论 -
大型网站后台架构的演变
随着用户访问量的不断增加,网站的后台也会不断变化以应对需求。本文主要从一个小型网站到大型网站的过度与变化来陈述。1.1 网站后台架构主要指由web server 、应用服务器、数据库、存储、监控等组成的网站后台系统。1.2 架构演变个人站点后台架构。如图2-1所示。图2-1 单台一组 如图所示,如果是个人站点,访问量不大,一般都是将web server、应用服务转载 2012-04-22 17:25:29 · 285 阅读 · 0 评论 -
failover 故障检测、报警、自动切换 程序 monitor_nginx.sh 用于对web server (Nginx) 监测与故障处理
前言前几天,群里有人说用shell程序实现failover,所以今天自己写一个shell程序 monitor_nginx.sh failover,fault detection and switching ,故障转移与切换程序(shell)一.程序功能用于检测web server (Nginx)是否宕掉,如果是用短信报警(sendmail139邮箱报警)并自动故障处理,浮动转载 2012-04-22 17:22:16 · 1268 阅读 · 0 评论 -
Google背后的分布式计算架构策略
Google是与众不同的。它的独特不仅仅表现于革新的思维和充满创意的应用 (比如那个大堂里的地球模型),更在于其有别常规的IT策略…… 加利福尼亚州山景城(Mountain View)Google公司(Google,下称Google)总部有一个43号大楼,该建筑的中央大屏幕上显示着一个与Google地球(Google Earth)相仿的世界地图,一个转动的地球上不停地闪动着五颜六色的光点,转载 2012-04-22 17:07:10 · 1288 阅读 · 0 评论 -
facebook bigpipe Java版本实现
前言: 去年的时候facebook开发工程师分享了了一个在facebook中实现的bigpipe的实现方案,如果您还不了解bigpipe方案解决的问题,请查看这个链接(http://www.facebook.com/note.php?note_id=389414033919) 当时,facebook的开发工程师主要对这个方案的目标,好处,以及总体的实现方法(没有很具体,只是一些思路转载 2012-03-25 22:10:53 · 817 阅读 · 0 评论 -
FaceBook网站架构软件揭秘
2010年6月,Google公布全球Top 1000网站。Facebook独占鳌头。 以Facebook现在的经营规模,诸多传统服务器的技术均将崩溃或根本无法支撑。那么面对5亿的活跃用户,Facebook的工程师们又将如何让网站平稳运转呢?伯乐在线 – 职场博客的这篇文章将展示Facebook的工程师完成这个艰巨任务所用到的一系列软件。Facebook级别规模的挑战在我转载 2012-04-03 18:14:28 · 299 阅读 · 0 评论 -
Beyond MapReduce:谈2011年风靡的数据流计算系统
2011年度的HadoopChina大会刚刚落下帷幕,这次会议的一个热点议题就是数据流计算,在MapReduce计算模型风靡全球之后,StreamProcessing将会是下一个研究热点,无论是在工业界还是学术界。本文从深层次对各种典型的数据流计算系统架构及其基于的设计理念进行剖析。背景与动机背景随着当今社会数据量的日益膨胀,普通服务器组成的计算集群用于处理各种数据应用。在工业领域,像转载 2012-04-03 11:33:45 · 971 阅读 · 0 评论 -
关于Hadoop的shuffle
我们知道每个reduce task输入的key都是按照key排序的。 但是每个map的输出只是简单的key-value而非key-valuelist,所以洗牌的工作就是将map输出转化为reducer的输入的过程。 在map结束之后shuffle要做的事情: map的输出不是简单的写入本地文件,而是更多的利用内存缓存和预排序工作,以提高效率。io.so转载 2012-03-17 21:08:28 · 298 阅读 · 0 评论 -
分布式K—V系统之我见
提及分布式key-value存储系统, Memcached, Voldemort, Cassandra,包括淘宝最近开源,我们一直在使用的Tair系统,相信大家都不会觉得陌生。本文会从Tair入手,介绍分析一下传统分布式键-值存储系统的原理,架构和使用技术。错误之处,还望大家指正。先看一下Tair的架构: 乍一看,会发现Tair的系统架构和TFS一样,都基于了Google的转载 2012-03-17 21:13:29 · 749 阅读 · 0 评论 -
分布式数据库的具体实现与对比分析
1.前言随着传统的数据库、计算机网络和数字通信技术的快速发展,以数据分布存储和分布处理为主要特征的分布式数据库系统的研究和开发越来越受到人们的关注。如何在一个数据库系统中实现一个分布式数据库,在实现分布是数据库中采用何种策略以及有那些需要注意的问题,这一直是数据库研究和应用相关领域人员非常关心的问题。本文就在Microsoft SQL系列数据库系统中分布式数据的具体实现进行了阐述,并对相关转载 2012-04-03 09:53:30 · 967 阅读 · 0 评论 -
InnoDB引擎表的主键选型
【导读】MySQL采用开放可插入式存储引擎架构,提供类似电源插线板的功能,其后接入的存储引擎就类似电器设备,而我们大家常用的存储以MyISAM和InnoDB为主,早期大家主要使用MyISAM引擎支持业务,随MySQL支持业务范围越来越广,存储的数据对企业越来越重要,尤其PC服务器支持的最大内存越来越大,内存的价格也越来越便宜,逐渐采用InnoDB引擎为主.二种风格迥异的存储引擎,各自内部存转载 2012-04-03 21:30:55 · 879 阅读 · 0 评论 -
“NoHadoop”?——新一代海量数据架构分析
在经历了长达25年的统治地位后,关系型数据库正面临越来越火的“NoSQL”挑战,而挑战者是以Hadoop为代表的分布式计算开源架构。可以看到,越来越多的消息表明,不管NoSQL是被解释为“No SQL”还是“Not Only SQL”,如果你面临海量数据的挑战,那么你最应该选的海量数据架构是Hadoop。但是Hadoop就能代表一切吗?答案显然是否定的,Hadoop的MapReduce在性转载 2012-04-04 22:12:39 · 1051 阅读 · 0 评论 -
Facebook 网站架构
我收集到一些文章和视频, 可以带你窥探 Facebook 的架构. Facebook 承载了几十亿的用户, 它的架构(包括思想和实现)是非常值得参考的. 当然, 你要小心不要照搬 Facebook 的每一字一句, 因为任何思想和实现都是有自己的应用场景的.文章: BigPipe: Pipelining web pages for high performance文章: Needle i转载 2012-04-14 21:11:07 · 374 阅读 · 0 评论 -
MHA自动Failover过程解析
MHA是一位日本MySQL大牛用Perl写的一套MySQL故障切换方案,来保证数据库系统的高可用。近期,在田老师的推动下,开始一步步深入了解这个HA方案,并也计划在公司线上尝试部署。下面的东西是这段时间的学习笔记和个人理解,没有具体的实战经验,只是人为测试模拟故障的发生,通过日志来分析MHA背后的自动切换过程。首先,介绍下它的一些特点,以及为什么用它,在哪种场合更适合用它。1. 10-30转载 2012-04-17 20:36:08 · 1064 阅读 · 0 评论 -
MySQL高可用性大杀器之MHA
提到MySQL高可用性,很多人会想到MySQL Cluster,亦或者Heartbeat+DRBD,不过这些方案的复杂性常常让人望而却步,与之相对,利用MySQL复制实现高可用性则显得容易很多,目前大致有MMM,PRM,MHA等方案可供选择:MMM是最常见的方案,可惜它带来的问题往往比解决的问题还多(What’s wrong with MMM?);至于PRM,它还是个新项目,暂时不推荐用于产品转载 2012-04-17 20:37:33 · 477 阅读 · 0 评论 -
对互联网海量数据实时计算的理解
1. 实时计算的概念互联网领域的实时计算一般都是针对海量数据进行的,除了像非实时计算的需求(如计算结果准确)以外,实时计算最重要的一个需求是能够实时响应计算结果,一般要求为秒级。个人理解,互联网行业的实时计算可以分为以下两种应用场景:1) 数据源是实时的不间断的,要求对用户的响应时间也是实时的。主要用于互联网流式数据处理。所谓流式数据是指将数据看作是数据流的形式来处理。数据流则是在时间转载 2012-05-02 22:02:29 · 557 阅读 · 0 评论 -
HBase在数据统计应用中的使用心得
1. 数据统计的需求 互联网上对于数据的统计,一个重要的应用就是对网站站点数据的统计,例如CNZZ站长统计、百度统计、Google Analytics、量子恒道统计等等。 网站站点统计工具无外乎有以下一些功能: 1)网站流量统计:包括PV、UV、IP等指标,这些统计指标可以以趋势图的形式展示出来,如最近一周、最近一个月等。 2)IP来源信息统计:记录各个来源IP下的转载 2012-05-02 22:10:20 · 451 阅读 · 0 评论 -
Linux NFS服务器的安装与配置
一、NFS服务简介 NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。 NFS 的基本原则是“容许不同的客户端及服务端通过一组转载 2013-10-22 10:51:22 · 445 阅读 · 0 评论