`
文章列表
作者 李锟 发布于 八月 26, 2013 |  引子 在移动互联网、云计算迅猛发展的今天,作为一名Web开发者,如果您还没听说过“REST”这个buzzword,显然已经落伍了。夸张点说,甚至“出了门都不好意思跟别人打招呼”。尽管如此,对于REST这个泊来品的理解,大多数人(包括一些资深的架构师)仍然停留在“盲人摸象”的阶段。常常听到各种各样关于REST的说法,例如:有人说:“我们这套新的API决定不用Web Service(SOAP+WSDL),而是直接使用HTTP+JSON,也就是用RESTful的方式来开发。” 不用SOAP,甚至也不用XML,就自动变成了RESTful了。 ...
作者:yanfei,腾讯后台架构师,参与项目为搜搜网页开发和搜搜开放平台。     关于文件系统,相信大家都不陌生。身为攻城狮的我们几乎天天都会与之打交道,但是细深剖一下,其中又有多少是我们理解深度不够的呢。那么让我们一起来看一下下面这一组Linux文件系统相关的问题吧: 1、机械磁盘随机读写时速度非常慢,操作系统是采用什么技巧来提高随机读写的性能的?   2、touch一个新的空文件占用磁盘空间吗? 占用的话占用多少?   3、新建一个空目录占用磁盘空间吗?占用多少?和新建一个文件相比,哪个占用的更大?   4、你知道文件名是记录在磁盘的什么地方吗?   5 ...
篇前语 本文在《程序员》杂志2013年1月刊刊登过,但由于篇幅排版等原因,部份内容被删除。研究院博客这次发表的版本是原稿版。可能文笔措辞有些许粗糙,但希望能给大家带来更详尽的信息。 前言 去年4月份,VMware突然 ...
 作者 阮志敏 发布于 六月 28, 2011 | 9 评论   云计算的三种服务模式是SaaS(Software as a Service),PaaS(Platform as a service)和IaaS(Infrastructure as a service)。相对于SaaS和IaaS,PaaS最难被理解,人们对PaaS的解读往往也不尽相同。这是我继“云计算与SOA之我见”之后的又一篇文章,希望通过这篇文章来分享我对PaaS的理解,并阐述为什么PaaS在云计算中处于战略核心地位。   一、 PaaS是云环境下的应用基础设施   有些人认为PaaS的核心就是分布式技术, ...

剖析开源云

M. Tim Jones, 独立撰稿人 简介: 现在的云计算已不再是一个新的尖端技术,它已成为彻底改变我们使用和开发随需应用程序方式的一种极有价值的重要技术。正如您所知,Linux 和开源技术为云(公共的和私有的基础架构)提 ...
  1. 背景介绍 许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征: (1) 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦; (2) 支持近实时的在线分析系统和类似于Hadoop之类的离线分析系统; (3) 具有高可扩展性。即:当数据量增加时,可以通过增加节点进行水平扩展。 本文从设计架构,负载均衡,可扩展性和容错性等方面对比了当今开源的日志系统,包括facebook的scribe,apache的chukwa,linkedin的kafka和cloude ...
Spring AOP 实现原理与 CGLIB 应用   李 刚, 自由撰稿人 简介: AOP(Aspect Orient Programming),也就是面向方面编程,作为面向对象编程的一种补充,专门用于处理系统中分布于各个模块(不同方法)中的交叉关注点的问题 ...
本文另一地址请见NoSQL数据库的分布式算法 本文译自 Distributed Algorithms in NoSQL Databases 系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性。这么讲使得NoSQL听起来像是一个大筐,什么都能塞进去。尽管NoSQL运动并没有给分布式数据处理带来根本性的技术变革,但是依然引发了铺天盖地的关于各种协议和算法的研究以及实践。正是通过这些尝试逐渐总结出了一些行之有效的数据库构建方法。在这篇文章里,我将针对NoSQL数据库的分布式特点进行一些系统化的描述。 接下来我们将研究一些分布式策略,比如 ...
Amazon和EBay一直在喝的酷爱(kool aid)饮料。 by Julian Browne on 2009.1.11 (经Julian授权翻译此文,原文参见 ) 1976年6月4号,周5,在远离音乐会大厅的一个楼上的房间内,在位于Manchester的Lesser Free Trade Hall ,Sex Pistols 乐队(注:Sex Pistols的经理人Malcolm McLaren 2010.4.8去世)开始了他们的第一次演出(gig, 注:规模太小称不上演唱会 )。关于当晚谁出席了那场演出有些混乱,部分是因为6周后的另一场音乐会,但最主要的还是因为,这场演出被认为 ...
在上一篇《知名网站的技术发展历程 》中,介绍了一些知名网站在发展的过程中技术的演变,在这篇文章中则会根据这些网站的发展经验,来总结通常网站是如何来应对可伸缩性、可用性、高性能以及低成本这四方面的挑战的。 在上一篇文章中,介绍了一些Alexa排名较前的网站的技术发展历程,在这篇文章中,将结合提及到的网站的技术发展历程,来总结下网站在可伸缩性、可用性、高性能以及低成本四点上通常采用的技术。 对于一个网站而言,最重要的是要支撑住不断增长的访问量和数据量,如果能做到简单的增加机器即可支撑,那自然是最好的,但这就要求技术上必须付出一定的努 力,这也是网站都追求的可伸缩性(Scalabil ...
总共有两篇,分别发表在《程序员》杂志的5月刊和6月刊,暂时还只能公开第一篇,第一篇中介绍了一些Alexa排名较前的网站的技术发展历程,第二篇总结了这些网站是如何来应对可伸缩性、可用性、高性能以及低成本的挑战的。 ...
JTA 深度历险 - 原理与实现   肖 国一 , 软件工程师, IBM 王 晓利 , 软件工程师, IBM 简介:  在 J2EE 应用中,事务是一个不可或缺的组件模型,它保证了用户操作的 ACID(即原子、一致、隔离、持久)属性。对于只操 ...
    CAP理论断言任何基于网络的数据共享系统,最多只能满足数据一致性、可用性、分区容忍性三要素中的两个要素。但是通过显式处理分区情形,系统设计师可以做到优化数据一致性和可用性,进而取得三者之间 ...

XA事务处理

为了说明X/Open XA接口在JTA事务管理中的重要性,以及它使用的时机,我们以前一章提到的一段固定收入交易的EJB代码为例: @TransactionAttribute(TransactionAttributeType.REQUIRED) public void placeFixedIncomeTrade(TradeData trade) throws Exception { ...
概述 Java 项目开发过程中,由于开发人员的经验、代码风格各不相同,以及缺乏统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维护,需要较大的测试投入 和周期等问题。这些问题在一个项目组初建、需求和设计均具有不完全可预期性和完备性的全新项目中将尤为突出。本文将结合敏捷开发周期短,变化快等特点,介 绍如何通过在开发过程中采取一系列步骤来保证和提高整个开发团队的代码质量,并阐述了每一步可以利用的工具和最佳实践,从而使开发过程更加规范化,成就高 质量的代码,减少测试的投入,并促进整个团队的技能提高,最终提高开发效率和质量。 如图 1 所示,敏捷开发过程经历需求调研, ...
Global site tag (gtag.js) - Google Analytics