系统架构

  • 来自Google.Amazon和Facebook等7大知名互联网的系统扩展经验
    来自Google.Amazon和Facebook等7大知名互联网的系统扩展经验

    摘要:Google.Amazon和Facebook等7家知名互联网都会针对不同使用场景做合适的设计,但总有一些万变不离其宗的思想.比如保持简单.让所有事情自动化.不断迭代.使用缓存.根据场景在数据一致性和可用性间取舍. 本文出自澳大利亚一位ID为Dodgy Coder的程序员2012年4月的博客文章.他从High Scalability上整理和总结了Google.YouTube.Twitter.Amazon.Ebay.Facebook和Instagram等7家知名互联网的系统扩展经验.值得注意的

    系统架构May 4

  • 调试器工作原理之二--实现断点
    调试器工作原理之二--实现断点

    本文是关于调试器工作原理探究系列的第二篇.在开始阅读本文前,请先确保你已经读过本系列的第一篇(基础篇). 本文的主要内容 这里我将说明调试器中的断点机制是如何实现的.断点机制是调试器的两大主要支柱之一 --另一个是在被调试进程的内存空间中查看变量的值.我们已经在第一篇文章中稍微涉及到了一些监视被调试进程的知识,但断点机制仍然还是个迷.阅读完本文之后,这将不再是什么秘密了. 软中断 要在x86体系结构上实现断点我们要用到软中断(也称为"陷阱"trap).在我们深入细节之前,我想先大致解释

    系统架构May 2

  • 高可用开源方案 Keepalived VS Heartbeat对比

    最近因为项目需要,简单的试用了两款高可用开源方案:Keepalived和Heartbeat.两者都很流行,但差异还是很大的,现将试用过程中的感受以及相关知识点简单总结一下,供大家选择方案的时候参考. 1)Keepalived使用更简单:从安装.配置.使用.维护等角度上对比,Keepalived都比Heartbeat要简单得多,尤其是Heartbeat2.1.4后拆分成3个子项目,安装.配置.使用都比较复杂,尤其是出问题的时候,都不知道具体是哪个子系统出问题了:而Keepalived只有1个安装文

    系统架构May 1

  • 互联网系统架构的演进
    互联网系统架构的演进

    多终端接入.开放平台给互联网带来了前所未有的用户量级和访问规模,SNS网站产生了海量的UGC(用户产生内容),而且这些内容依托关 系链扩散速度之快.传播范围之广是传统网站难以想象的,海量数据的计算存储也一直是近年互联网领域的热点.本文将从发展演进的层面探讨互联网的系统架构. 天下武功唯快不破 网站初期的架构一般采用"短平快"的架构思路,架构以简单清晰.容易开发为第一衡量指标. 互联网架构选型首先包括开发语言的选择,目前PHP.Java是主力语言.开发语言的选择一般从团队人员的知识储备.

    系统架构April 28

  • 维护遗留应用的实用技术
    维护遗留应用的实用技术

    遗留应用很少如下面所示: 在这个美丽的图形中,通过定义良好的管道,使得层次和模块块划分清晰,交互便利.模块可以移动,替换,也易于添加,支持那些重要的"特性":可扩展性,可伸缩性,可维护性-- 在现实中,遗留应用更可能如下所示: 如果你是接到维护遗留应用程序任务的不幸开发者,有时你会感到像老鼠在迷宫里:每次开机时,还有更多意想不到的角落和拐弯,甚至是死亡陷阱. 我一直在负责维护这种遗留应用程序已经两年多了,在这篇文章中,我想分享我对如何务实地维护一个大的遗留应用程序的经验. 我强调&qu

    系统架构April 27

  • MapReduce原理与设计思想
    MapReduce原理与设计思想

    简单解释 MapReduce 算法 一个有趣的例子 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃? MapReduce方法则是: 给在座的所有玩家中分配这摞牌 让每个玩家数自己手中的牌有几张是黑桃,然后把这个数目汇报给你 你把所有玩家告诉你的数字加起来,得到最后的结论 拆分 MapReduce合并了两种经典函数: 映射(Mapping)对集合里的每个目标应用同一个操作.即,如果你想把表单里每个单元格乘以二,那么把这个函数单独地应用在每个单元格上的操作就属于mappi

    系统架构April 26

  • 洪强宁谈豆瓣网技术架构

    概要 如何应对高并发.大访问量?如何保证数据的安全性以及数据库大吞吐量?在海量数据下,如何进行数据表变更?DoubanFS以及DoubanDB的特点以及技术实现?在QConBeijing 2009期间,InfoQ中文站有幸采访了洪强宁,探讨了相关话题. 个人简介 洪强宁,2002年毕业于清华大学,现任北京豆瓣互动科技有限公司首席架构师.洪强宁和他带领的技术团队致力于用技术改善人们的文化和生活品质,在网站架构.性能.可伸缩性上进行深入研究.豆瓣网曾获软件中国2006年度最佳技术应用网站. 关于会议

    系统架构April 25

  • 使用亚马逊S3和EMR应对ETL工作流时 如何保障一致性
    使用亚马逊S3和EMR应对ETL工作流时 如何保障一致性

    EMR File System(EMRFS)是HDFS的一种实现,它允许亚马逊Elastic MapReduce(Amazon EMR)集群将数据储存到Amazon Simple Storage Service (Amazon S3)上,它帮助大量的亚马逊EMR用户在低成本下,以高持久和可用的方式储存大量的数据.然而,亚马逊S3设计的理念是保障最终一致性,从而很可能给ETL(extract-transform-load)这种多步数据处理管道造成麻烦.举个例子,如果你在ETL处理流程一个步骤中增加

    系统架构April 22

  • 开发者应该反问自己的10个问题

    你想成为一名web开发者吗? 那么,现在是时候放下<24小时学会超级骗子语言v8.3>书,相反,你应当养成每天反问自己以下10个问题的习惯. 是否有一种模式存在? 找寻模式中的可行与不可行将发现其中看似无关的想法或基本原则.要对工作达到深入的理解,你必须养成反问自己"是否有一种模式存在?"的习惯. 它不仅仅适用于你的代码.是否有适应各类型商业变化的模式吗?是否有一种适用于技术发展的模式?你有没有看到同类型的错误如雨后春笋般冒出来? 理解就是理解模式 -- 以赛亚·伯林 怎么

    系统架构April 21

  • BDTC PPT集萃(二):Facebook.LinkedIn等分享的大数据架构
    BDTC PPT集萃(二):Facebook.LinkedIn等分享的大数据架构

    从2008年60人规模的"Hadoop in China"技术沙龙,到当下数千人规模的行业技术盛宴,七届BDTC(大数据技术大会)完整地见证了中国大数据技术与应用的变革,忠实地描绘了大数据领域内的技术热点,沉淀了无数极具价值的行业实战经验.同时,2014年12月12至14日,第八届中国大数据技术盛会将一如既往的引领当前领域内的技术热点,分享行业实战经验. 为了更好地洞悉行业发展趋势,了解企业技术挑战,在BDTC 2014召开前夕,我们将带大家一起对历届大会沉淀的知识进行挖掘,分享各IT

    系统架构April 21

  • 基于分发机制的公众订阅平台设计
    基于分发机制的公众订阅平台设计

    如下图所示,一个基于分发机制的公众订阅平台,是指一个移动信息发布系统,可提供订阅功能的系统企业帐号可以给所有的订阅用户按照一定的条件(如地域或用户特征)群发消息,系统的主要关注点包括 分发的throughput.由于群发的放大效应,如何让拥有大量订阅用户的企业帐号能及时投递消息.以及到客户端的移动push通道也存在throughput的问题. 存储的性能,根据客户端的访问型态,如果考虑数据保存在云端,大多需要更新最近联系人.用户与企业订阅帐号之间的会话索引,以及每个会话的未读提醒数.由于客户端本

    系统架构April 18

  • Brisk之CassandraFS
    Brisk之CassandraFS

    背景介绍 HDFS HDFS全称是Hadoop Distributed System.HDFS是为以流的方式存取大文件而设计的.适用于几百MB,GB以及TB,并写一次读多次的场合. 构成HDFS主要是Namenode(master)和一系列的Datanode(workers).Namenode负责管理HDFS的目录树和相关的文件元数据,Datanode则是存取文件实际内容的节点,Datanodes会定时地将block的列表汇报给Namenode. 如果Namenode出现了故障,整个HDFS集群

    系统架构April 18

  • riak源码阅读手记 与Cassandra相比

    riak源码阅读手记一 初出茅庐 项目入口 /system-analysis/20110930/312302.html riak源码阅读手记二 左右开弓 启动 /system-analysis/20110930/312303.html riak源码阅读手记 运行安装 /system-analysis/20110930/312304.html 一些常用的指令: http://wiki.basho.com/Command-Line-Tools.html#riak-admin 实现上: 1)虽然二者都

    系统架构April 16

  • 使用Kafka处理高并发数据流

    如果我们需要持续地处理大约20万条/秒的消息量,同时还需要保证数据的可用性和冗余,我们应该怎么做呢?最近Tadas Vilkeliskis在自己的博客上发表了一篇题为<数据流基础设施>的文章,分享了他们是如何应对这种场景的. Tadas Vilkeliskis在文章中提到,他们每秒钟大约会收到来自于世界各地的20万次HTTP请求,这些请求包含了用户的行为信息,平均每一条消息的大小约为0.8KB,每秒钟的总数量在150MB左右.为了应对如此高的流量,Tadas Vilkeliskis说他们的方案

    系统架构April 16

  • 探索Google App Engine背后的奥秘(5)- Datastore的设计
    探索Google App Engine背后的奥秘(5)- Datastore的设计

    本篇会首先会从程序员角度来介绍一下Datastore在使用方面的一些信息,之后会接着介绍Datastore是如何构建的. 使用方面 首先,在编程方面,Datastore是基于"Entity(实体)"这个概念,而且Entity和"对象"这个概念比较类似,同时Entity可以包括多个Property(属性),Property的类别有整数,浮点和字符串等,比如,可以设计一个名为"Person"的Entity,它包含名为"Name"的

    系统架构April 16

  • 云计算:亚马逊网络服务(AWS)探秘

    从贮存到支付,云计算的领导者(亚马逊)提供了一系列的低价服务来吸引注意.我们将紧密关注这些. 亚马逊网络服务( AWS)是基于一个简单的想法:亚马逊已经建立了一个跨越全球的硬件和软件基础设施,来支持该公司的互联网业务,那么为什么不将那些基础设施的组件模块化并且出租?这是类似一个建设州际公路的大型建筑公司,出租其设备和专门的技术,把他们投入到例如,修建一条小路,铺平了一间超级市场的停车场,修理管路,或者开掘后院游泳池的工程中. 更具体地, AWS通过REST或者基于SOAP的网络服务呼叫使亚马逊业

    系统架构April 14

  • "差点的更好"设计理念的兴起

    我和几乎所有的Common Lisp和CLOS(Common Lisp Object System)的设计者都极度深受麻省理工学院/斯坦福大学(MIT/Stanford)设计风格的影响.这种风格的本质可以用"正确的做法(the right thing)"这个短语来概括.对于这样的设计者,重要的就是要遵循下面的这些设计理念: 简单性-设计必须简单,这既是对实现的要求,也是对接口的要求.接口的简单要比实现的简单更加重要. 正确性-设计在任何值得注意的方面都要保证正确.不正确是绝对不允许的.

    系统架构April 13

  • 软件架构设计思考之一

    架构设计,一直就是软件业界中显得高深的名词之一,会造成很多的人对于它都充满了神秘感,但接触过几年软件业的人很多时候又会觉得软件架构原来不过如此,特别是看到一些架构设计文档后更是得出如此的感想,但真的是如此吗?也许是因为那些架构设计文档并没有起到它们真正的作用,只是拿来糊糊人的吧,架构设计文档最重要的是要能对系统的软件设计做出指导,做出规范性的约束,不谈这些,重点还是谈架构设计. 首先我们想想为什么要做架构设计呢?可能很多人会说在他们的系统中就是没做架构设计的,但其实不管你有没有做架构设计,你的脑

    系统架构April 13

  • Strata+Hadoop World 2015见闻
    Strata+Hadoop World 2015见闻

    Strata+Hadoop World(SHW)是世界最大的大数据盛会,它为各种技术提供了深度交流的机会,参会者在这里能看到最领先的技术.最广泛的应用场景.最有趣的用例教学,以及最全面的大数据行业和趋势探讨. SHW的演讲不仅涵盖了全世界大数据领域顶尖技术专家,同时还有各种大数据应用场景的经验介绍,包括金融.多媒体.零售.物流等.2月17-20日在美国加州San Jose举行的Strata+Hadoop World 2015汇聚了超过200场技术分享,150家展商以及5000名参会者. 本文中,

    系统架构April 12

  • CloudBase配置和功能测试系列 server端配置手册(1)

    假设大家对分布式计算Hadoop已经熟悉,今天介绍一下基于Hadoop的data warehouse软件,如何使用CloudBASE通过使用 ANSI SQL 直接 large-scale log files 进行很方便的查询,通过练习和实际操作例子,大家可以体会到如何利用sql的便捷性和Hadoop强大的分布式计算能力来为大规模高效率的商用计算服务. 看这篇文章的基础知识,hadoop,java,linux,虚拟机,如果你具备了,那么闲话少说,进入正题.如果不具备,可以针对每个基础知识的关键字

    系统架构April 11

  • Twitter,架构的变迁
    Twitter,架构的变迁

    Evan Weaver是Twitter服务团队的总工程师,他的主要工作是优化与伸缩性.在QCon London 2009上,他谈到了Twitter的架构,特别是在过去一年当中为提升Web站点性能所执行的优化. Twitter使用的大部分工具都是开源的.其结构是用Rails作前端,C,Scala和Java组成中间的业务层,使用MySQL存储数据.所有的东西都保存在RAM里,而数据库只是用作备份.Rails前端处理展现,缓存组织,DB查询以及同步插入.这一前端主要由几部分客户服务粘合而成,大部分是C

    系统架构April 10

  • 如何利用多级抽象思维来设计库?
    如何利用多级抽象思维来设计库?

    库设计模式 对于库设计理论来说,有几点在我的实际工作过程中体会最深: 迭代设计--首先,不要为了一个库而设计库.在F#中,你可以把多个功能都放入一个脚本然后按需进行引用或复制至其它项目.这是最好的库需求分析途径.一旦你想出更好的点子,就可以把它以文件形式加入到一个新项目中: 可组合的--可组合性是函数式编程的关键理论,其重要性等同于库设计.一个库应当可以让用户以简单的方式来进行二次开发,实现更多更复杂的功能: 避免回调--回调是很容易影响可组合性的.当你编写一些复杂的函数时(例如处理Markdo

    系统架构April 10

  • 八大厂商云策略解读:Salesforce,为SaaS开发提供平台服务
    八大厂商云策略解读:Salesforce,为SaaS开发提供平台服务

    系列文章目录索引:会商云计算 八大厂商云策略解读 Salesforce在SaaS(software as a service,软件即服务)的基础上开发了与传统模式不一样的基于WEB的销售管理软件,现在已经有几十家SaaS公司开始跟进这一领域.不过,Salesforce的下一步是:把平台当作一种服务来提供(platform as a service). 该公司正在运作它的WEB应用平台--Force.com.其他公司可以借助这个平台,以此为基础来开发和提供各自的软件服务.Force.com包括一个

    系统架构April 9

  • 架构风格和架构模式速览

    应用架构指南2.0(微软模式和实践)的第6章讨论了诸如消息总线.分层架构.SOA之类的架构风格.除了这些风格,还有很多架构模式,比如插件.点对点.发布-订阅.有些作者对架构风格.模式和隐喻进行了区分. 什么是架构风格呢?根据应用架构指南所说,架构风格指: 一组原则.你可以把它看成是一组为系统家族提供抽象框架的粗粒度模式.架构风格能改进分块,还能为频繁出现的问题提供解决方案,以此促进设计重用. 指南的作者列出了一系列架构风格: 架构风格 描述 客户端-服务器 将系统分为两个应用,其中客户端向服务器

    系统架构April 8

  • 软件架构师应该具备的素质

    软件/企业架构师是一项很重要的工作.架构师的职责很多,要胜任的话,需要具备特定的领导.沟通.技术技能. Gabriel Morgan在最近的一篇帖子里从Daniel Goleman的情感智能(EI)--自我意识.自我管理.社会意识和关系管理--切入,谈论了企业软件架构师应该具备的素质. 自我意识 情绪自我觉察 准确的自我评估 自我管理 自控 透明度 适应性 成就 主动 乐观 社会意识 同理心 组织意识 服务 关系管理 感召力 影响力 发展他人 变革催化剂 冲突管理 团队精神与合作 卡内基·梅隆大

    系统架构April 7

  • 探索Google App Engine背后的奥秘(6)- 总结

    本篇是本系列的最终章,将总结一下App Engine在使用方面的注意点,最佳实践和适用场景,最后会谈一下我对App Engine的一些期望. 注意点 执行速度偏慢:由于其分布式的设计,所以在速度方面不是最优的,比如普通的Memcache能在几毫秒完成操作,而App Engine的Memcache则大概需要50(毫)秒才能完成操作. 私有API:其API有很多都是私有,特别是在其服务方面,虽然Google提供了很不错的文档,但是在学习和移植等方面,成本都很高. 执行会出现失败的情况:根据很多人的实

    系统架构April 5

  • 从Hadoop到自主研发,技术解读阿里去IOE后的系统架构

    [导读]互联网的普及,智能终端的增加,大数据时代悄然而至.在这个数据为王的时代,数十倍.数百倍的数据给各个机构带来了无尽的机遇:然而,无可否认的是,数据体积的暴增同样前所未有的挑战着企业的基础设施. 在这个大背景下,各个机构不得不在控制好成本支出的同时,不停摸索着时刻激增用户数据的解决之道,其中阿里的成绩无疑令人艳羡--单集群规模5000+的飞天,以及多集群跨机房计算的支持.本次我们将以飞天为例,为大家分享大规模分布式系统打造过程中的艰难坎坷及应对之道. 本次分享共分为视点.技术专题.应用实践三

    系统架构April 5

  • 分布式数据挖掘:应付分布式海量数据的现代方法

    人们面临的挑战不再是收集信息,而是挖掘数据以回答特定研究问题.Benjamin Lieberman在最近的一篇developerWorks系列文章里向大家介绍了用分布式数据挖掘来处理这些分布式海量数据的技术.Benjamin Lieberman认为拥有分布式数据的组织面临着如何发现.访问和有效地使用分布式海量数据的挑战,而这可以用分布式数据挖掘技术来解决: 发现信息:包括静态发现和动态发现.静态发现是手动确定数据源系统,并预先把处理系统配置好,以便其在处理过程中使用发现的源,此方法最常见但最不灵

    系统架构April 4

  • 两周内在Github上收获1800+个星:内核层网络栈优化项目Fastsocket背后的故事

    2014年10月18日,当时就职于新浪操作系统团队的林晓峰在Github上开源了名为Fastsocket的项目,并在之后一天的中国Linux内核开发者大会上对该项目的原理和应用效果进行了介绍(演讲slides在此).根据Github官网的介绍,Fastsocket是: 高度可扩展的socket 是Linux内核层面的底层网络实现 在多核机器上可实现极佳性能,24核以内的性能增长呈线性,远超过默认内核在12核以上的机器就会出现性能下降的情况 非常容易使用和维护,应用代码无需变更 针对kernel-

    系统架构April 2

  • 做人.做事,做架构师--架构师能力模型解析
    做人.做事,做架构师--架构师能力模型解析

    要想从一名普通程序员发展成为优秀的架构师,"个人特性"与"技术技能"缺一不可:而"技术专业能力"."人际关系能力"和"业务能力"更是优秀架构师重要的三种能力. 文 / 周爱民(<程序员>2008年4月刊) 引子 究竟是什么让你在同一个位置上--例如程序员或技术负责人--工作了三年.五年或者更久,而仍然得不到任何的发展空间?你觉得自己已成为技术圈中的大牛,并信心满满地去拿明天就要颁发的某某大奖,然

    系统架构April 2

  • 一种开放的可互操作的云
    一种开放的可互操作的云

    介绍 在这篇文章中我们会描述:在当下,怎么样通过利用成熟的开放标准(特定于云计算.网格与存储领域)创建具有可互操作性的云.我们会演示使用一些最新的具有创新性的主要云计算接口规范来实现一个开放的.基于标准的.具备可互操作性的云计算服务实例. 写作这篇文章的动机是为了说明这样一个事实,即当前由各种标准开发组织(SDO)提供的可用的云计算标准特性已经足够用于开发一个云计算服务实例,而这一点将在下面的章节中得到证明.这篇文章可以被视作探索云计算标准集成的工作的最初环节中的一个步骤,尤其是开放云计算接口(

    系统架构April 1

  • 构建高可用和弹性伸缩的KV存储系统
    构建高可用和弹性伸缩的KV存储系统

    常见KV存储系统 与互联网时代不同,社交时代和移动互联网时代的互联网产品,拥有海量的读写请求和爆发式增长的数据和用户.传统关系型数据库的性能.可扩展性和数据结构的灵活性逐渐成为瓶颈.NoSQL型数据库在近些年风生水起,越来越受到开发者的关注.NoSQL无须遵循关系型数据库的ACID理论,简单灵活的数据结构和操作使其具备与生俱来的高性能和可扩展性.常见的NoSQL产品有KV(key-value)型.文档型.列存储型.图存储型.对象存储型.XML数据库型等,图1为各种类型NoSQL数据库的代表产品和

    系统架构March 24

  • Amazon EC2:系统测试的云中基石
    Amazon EC2:系统测试的云中基石

    云计算的出现,带来了相关技术的长足发展,同时也带来了多方位的挑战.这种状况,在云计算从概念到实现的转变之后,尤为明显.无论是业界的领导者,如谷歌.雅虎,还是那些刚露出尖尖角的后来者,都将面临着一些共同的难题和挑战.在这些难题与挑战之中,如何在云中合理搭配计算资源则一直是让业者纠结不已的不变话题. 开发者的云与测试者的云 开发阶段的云平台应用产品,大多数情况下并不需要太多的计算资源,例如为客户开发一个基于云平台的并行存储系统,在开发阶段,往往只需3.4台实体机便可以搭建出足以支撑程序员进行全部功能

    系统架构March 24

  • 体系架构的生命期:对业务的影响以及如何构建更持久的体系架构

    什么是体系架构的生命期?应该考虑到何种程度?它对业务可能有何影响?为了回答这些问题,Dan Pritchett引入了"体系架构保质期"的概念,他将其定义为"开始设计新的系统时,一组模式和技术的适用期限".他认为体系架构保质期能持续5年左右,经过两到三代以后,任何体系架构至少会有部分的改变.否则,该体系架构就会很陈旧,而且在适应业务需求发展时会引起成本的增加.基于此,Pritchett认为"体系架构通常有10到15年的有效期".为了支持自己的论点,

    系统架构March 21

  • 可伸缩性最佳实践:来自eBay的经验

    在eBay,可伸缩性是我们每天奋力抵抗的一大架构压力.我们所做的每一项架构及设计决策,身前身后都能看到它的踪影.当我们面对的是全世界数以亿计的用户,每天的页面浏览量超过10亿,系统中的数据量要用皮字节(1015或250)来计算--可伸缩性是生死交关的问题. 在一个可伸缩的架构中,资源的消耗应该随负载线性(或更佳)上升,负载可由用户流量.数据量等测量.如果说性能衡量的是每一工作单元所需的资源消耗,可伸缩性则是衡量当工作单元的数量或尺寸增加时,资源消耗的变化情况.换句话说,可伸缩性是整个价格-性能曲

    系统架构March 21

  • IBM抓准IT潮流主打云计算企业效益

    云计算成为IT新潮流,但除了消费者之外,企业也将蒙受其利,IBM说. IBM全球高效能随需解决方案副总裁赵维义指出,云计算环境可节省为企业降低营运成本,又具备企业营运所需要的安全性及创新服务. 云计算(cloud computing)是一种在"网云基础架构"之上加上云应用平台.运算.储存等中介层,由此提供的云服务可由成千上万的客户端存取.云计算和较早出现的网格运算(grid computing).公用运算(utility computing)都是分布式运算的一种型态,不过各家定义有些许

    系统架构March 21

  • Hadoop全方位解读

    概要在这次采访中,Ted Dunning谈论了Hadoop,包括Hadoop当前应用及其将来.他说明了Hadoop成功的原因,并对于如何开始使用Hadoop给出了一些建议. 个人简介 Ted Dunning是MapR技术公司的首席应用架构师,他是Apache的Hadoop.Zookeeper和HBase等几个开源项目的贡献者, 同时也是Apache Mahout的代码提交者.他发现了一些模式,并且发明了一些技术把这些模式带到实际的工作中. 我是Boris Lublinsky,来自InfoQ SO

    系统架构March 18

  • NUMA架构与数据库性能
    NUMA架构与数据库性能

    在这次的 Oracle Open World 上,Hammerora 的作者 Steve Shaw 做了一个关于 Linux 平台 Oracle 调优的演讲,其中重点提到了 NUMA 架构对于 Intel Nehalem CPU 上跑 Oracle 的性能影响. 对于传统 SMP 来说,CPU 增多未必系统性能就好,因为共享系统总线的限制了 CPU 数量,CPU 越多内部通信量越大共享总线越容易达到瓶颈.而 NUMA 架构则多少缓解了这个扩展问题,其大致机理是通过给每个核提供单独的本地内存,进而

    系统架构March 18

  • 谷歌Kubernetes专访:未来BigTable开发只是课后习题
    谷歌Kubernetes专访:未来BigTable开发只是课后习题

    Google曾开源过很多伟大的技术,尤其是三驾马车GFS.MapReduce和BigTable,在某种程度上奠定了分布式系统和大数据技术实践的基石,Google向来不是技术的提出者,最后却往往能成为技术的引领者. 也有人说Google开源的都是其十几年前使用的技术,但是从另一个角度来看,Google目前解决的问题都是其他公司未来才会遇到的,曾有Google员工在接受采访时说,加入Google就像吞下了<黑客帝国>中的红色药丸,在之前是很难想象Google的开发人员是如何工作的.但是当全球技术发

    系统架构March 18

  • 证券创新之翼--阿里金融云
    证券创新之翼--阿里金融云

    云计算被视为继大型计算机.个人计算机.互联网之后的第4次IT产业革命,顺应了当前各行业整合计算资源和服务能力的要求,成为引领当今世界信息技术变革的主力军.越来越多的金融企业认识到只有与云计算结合,才能更好地支持业务发展和创新.本文将结合阿里金融云的特性,讲述券商IT系统上云的最佳实战经验. 阿里金融云于2013年底正式上线,主要面向银行.证券.基金.保险和信托等金融企业.不到一年时间,已经有200多家金融机构的IT系统全部或部分运行于金融云上.简单来说,金融云有以下特点. 安全合规.通过了国际.

    系统架构March 14

  • Kubernetes系统架构简介
    Kubernetes系统架构简介

    1. 前言 Together we will ensure that Kubernetes is a strong and open container management framework for any application and in any environment, whether in a private, public or hybrid cloud. Urs Hölzle, Google Kubernetes作为Docker生态圈中重要一员,是Google多年大规模容器管理

    系统架构March 13

  • 面向Agent的系统架构

    面向Agent的编程AOP,是在OO编程上的不足,提出来的概念,但AOP不是万金油,它的提出也只是为了解决某些方面的问题,尤其是是现实世界中面临的问题,可以大量使用AOP. AOP的一个重要特点,就是编程时不再仅仅只是用对象的思维来考虑问题,而是要更进一步,用Agent智能体的思维去考虑问题. 如果你需要处理一个售票业务,那你就可以构思一个售票员Agent: 如果你需要处理一个订餐业务,那你就可以构思一个服务员Agent: 如果你需要发布一个新闻信息,那你就可以构思一个快递员Agent: 智能体

    aop, 系统架构, 面向智能体December 20

  • 如何建设云数据中心

    一.什么是云数据中心?云数据中心与传统数据中心有什么区别? 近年来,数据中心建设成为全球各行业的IT建设重点,国内数据中心建设的投资年增长率更是超过20%,金融.制造业.政府.能源.交通.教育.互联网和运营商等各个行业正在规划.建设和改造各自的数据中心.随着企业信息化的深入和新技术的广泛使用,传统数据中心已经无法满足后数据中心时代的高效.敏捷.易维护的需求. 传统数据中心与云计算数据中心的区别在于应对的业务模式不同.传统数据中心多数是基础性数据业务,并有明确的跨网和区域性限制,而云计算是通过网络

    云计算, 系统架构, 设计理念September 10

  • 小猿的第一个开源项目:办公自动化软件的通用开发模板 - OAer,简洁为美,轻量交互
    小猿的第一个开源项目:办公自动化软件的通用开发模板 - OAer,简洁为美,轻量交互

    OAer并非一个基础框架,不过是学习基础框架的好案例.OAer或许应该叫做项目基础,可用于快速二次开发. OAer首先适合程序初学者和初次接触OA开发 的编程人员阅读,也适合于一般的中小型OA系统开发. OAer中已开发的功能项很少,仅有较为通用的权限系统.抛弃了工作流引擎,用户界面.系统架构以及代码都清晰易读.主要是有以下亮点: 0.采用的 html.css模板简洁明了,下一个版本将上传该网页模板. 1.利用ztree插件对权限(菜单)进行树形展示,用户可以轻易地在该权限树上增加权限,删除权限

    系统架构, spring, 开源项目, OA系统, 办公自动化February 12

  • 系统架构--从Memcache单点说起
    系统架构--从Memcache单点说起

    要回答"文章摘要"里面的单点问题,其实回头想想,也不难.但是,这种系统架构的东西,不要为解决问题而解决问题,需要衡量一下这个改动对系统性能方面的影响. 1.系统架构的演变 余浩东(具体是谁,不认识)撰写的<最新大型网站技术架构探讨.ppt>(下载地址:http://pan.baidu.com/s/1sj6jujF),很好地诠释了从单一服务到多层次架构的演变,每次演变都有自己的用武之地,不能一概而论,谁好谁不好!演变过程如下: Web动静态资源分离及其与DB物理分离 采取缓存

    系统架构, Memcache单点February 4

  • B公司广告平台系统架构
    B公司广告平台系统架构

    系统架构图: 上图展示了整个广告平台的基本运作流程. 广告引擎加载广告数据,响应广告请求(点击,关闭,请求等),并将这些请求信息写入日志,广告结算系统读取这些日志,计算相关结算,并更改信息到广告数据中.而业务系统主要用来广告主和相关业务的自主操作.例如,某个广告主想投放广告,则可以自己配置想要投放广告类型以及相关的定向和资金信息,业务系统将这些数据写入广告数据,又或者某个销售拉了一个大单,也可以将相关信息写入广告数据.广告引擎会定时的加载广告数据(数据是拉模式,还无法做到实时更新).这样就构成了

    系统架构, 广告平台December 7

  • iphone系统架构以及各层提供的主要服务

    iPhone OS的技术实现包括四层:核心OS(Core OS)层.核心服务(Core Service)层.媒体(Media)层和Cocoa Touch层.系统低层为所有应用提供基础服务,其他较高层包含较多的复杂服务和技术.系统层次架构如图 当开发iPhone应用时,应尽可能多地引用较高层框架(Framework).与低层框架(Framework)相比,较高层框架为低层结构提供了面向对象的抽象,这些抽象为开发应用带来了极大的方便.但是,较高层框架并没有掩盖低层框架,对于没有被较高层框架封装的低层

    ios, 服务, 系统架构October 11

  • 推荐系统思考小结(基于Mahout)

    最近一直学习Mahout和推荐引擎相关的知识,一直想搞清楚,什么样的推荐系统的架构才是合理,既能对海量数据进行复杂运算,又能及时响应做出推荐.在网上发现一篇对推荐系统结构讲解的很好的文章数:据驱动销售--个性化推荐引擎,里面提到这样的思想" 数据的特性对我们的架构设计起到了一个非常关键的作用,因为我们可以使用完全不同的方式来将静态数据和动态数据分开处理,再合并分析 ",对于一个数据挖掘初学者的我,很受启发. 同时,自己也在思考,若结合实际的推荐系统中,针对不同的协同过滤算法,如何来划分

    hadoop, mahout, 推荐引擎, 系统架构June 3

  • 谈谈对于企业级系统架构的理解
    谈谈对于企业级系统架构的理解

    在我们刚开始学习架构的时候,首先会想到分层的概念,分层架构比较经典的是三层架构,那么,什么是三层架构呢?它包括表现层,业务层,数据访问层:而对于一个新手来说,从抽象意义上的三层架构,逻辑上就划分为三个层. 这个是最基本的三层架构模式. 表现层充当系统的界面呈现以及UI逻辑的角色,也就是说,UI(用户界面)属于表现层: 举一个对于asp.net WebForm来说,人们喜欢把对于UI的控制逻辑(服务器控件的读取.设置.事件等等)写在页面的后置隐藏代码中,并且依赖业务逻辑层.当然,服务器控件支持数据

    系统架构, 企业级July 22

  • 完美的业务组件化模式的企业架构
    完美的业务组件化模式的企业架构

    完美的业务组件化模式的企业架构 构建这样一个庞大的,统一的企业IT架构是一件非常有挑战性的工作,我们结合业内流行的信息架构方案和未来企业应用的发展趋势,提出了基于业务组件平台的架构方案,将企业应用化整为零的开发实施,同时我们在IT管理方面我们架构一套化零为整的业务平台进行资源的统一管控. 简单的解释一下什么是业务组件. 业务组件是一系列不可分割的业务活动,是构建专业化企业的功能模块.业务组件的优势在很大程度上来源于其具备两个相关但截然不同的特性:首先,组件之间通过松散耦合方式进行链接,具备灵活.

    系统架构, 业务组件, 模块、开发March 31