分类目录:设计与架构

以下是分类 设计与架构 下的所有文章

【转载】为什么看起来不是很复杂的网站,淘宝、腾讯却需要大量顶尖高手来开发?

作者:知乎-子柳、蔡正海 网址:http://www.zhihu.com/question/20303645 为什么很多看起来不是很复杂的网站,比如 Facebook 需要大量顶尖高手来开发? 子柳: 就拿淘宝来说说,当作给新人一些科普。 ▼先说你看到的页面上,最重要的几个: 【搜索商品】这个功能,如果你有几千条商品,完全可以用select * from tableXX wh……

【转载】大型高并发高负载网站的系统架构剖析

原文出处: 点击这里   前言 鄙人先后在CERNET做过拨号接入,在Yahoo&3721搞过搜索前端,在猫扑处理过mop.com的架构升级,在6.cn视频网站从事开发工作,还在多年的工作中接触和开发过不少大中型网站的模块,因此在大型网站应对高负载和并发的解决方案上有一些积累和经验,希望和大家一起探讨。 一个小型的网站,……

【转载】故障之后

原文出处:http://ericliang.info/after-the-collapse/ 阿里、携程接力两天的服务故障,沸腾了整个码农界。 看热闹都不怕事儿大。光纤被挖,引得异地双活被嘲讽,逼着支付宝最后有人出来打保票,年底我们一定搞完异地双活;线上服务被删更是报复论、Bug论频频,还出现了异司双活的崇拜,携程只是道了个歉,但是各种开人……

携程网宕机事件随笔

现在是2015年5月28日的晚上8点半,打开携程的主页,上面的一行小字仍然存在,小字写着: 携程网站暂时无法提供服务,正在紧急修复中...您可以访问:艺龙旅行网 这个状态其实已经存在整整一天了,网上的传闻说发布系统出现故障,将数据库的数据文件删除了,现在上线打包都无法正常工作,这不得不引人深思。 首先,下午……

异地多活数据中心之随笔

昨天,支付宝的一个主要机房的光缆被挖断,支付宝的工程师们用了几个小时的时间切到了异地多活的其他机房,虽然,一直以来对支付宝的工程师们的技术水平非常的认可,但是几个小时的切换时间有些让人失望,因此,找到了几篇之前看过的异地多活的文章,重新温习了一下,看看为啥支付宝的大牛们遇到这类问题几个小时才能搞定……

【转载】【经典】专访阿里巴巴毕玄:异地多活数据中心项目的来龙去脉

原文出处:http://www.infoq.com/cn/articles/interview-alibaba-bixuan 大数据时代,数据中心的异地容灾变得非常重要。在去年双十一之前,阿里巴巴上线了数据中心异地双活项目。InfoQ就该项目采访了阿里巴巴的林昊(花名毕玄)。 毕玄是阿里巴巴技术保障部的研究员,负责性能容量架构。数据中心异地多活项目就是他主导的……

【转载】【经典】微博“异地多活”部署经验谈

原文出处:微博异地多活经验谈   近期阿里巴巴的同学分享了阿里在“异地双活”(微博称“多机房部署”,为便于理解本文统称“异地多活”)的一些经验( http://www.infoq.com/cn/articles/interview-alibaba-bixuan ),由于我曾代表平台在2012年主导微博的广州机房部署项目以及北京双机房部署项目,也分享一下微博在多机……

你不得不知道的两个搜索引擎Solr和ElasticSearch

lucence, solr, ElasticSearch(es)的区别? lucence是搜索库,轻量级的开发库,如果你需要与你的应用集成,难么你简单的使用luncence即可。 solr, es都是基于lucence的搜索引擎,是个类似企业的产品,功能复杂而强大。 以下文章来自互联网: team之前的search解决方案不同于行业常见架构(solr及其它开源项目),其searc……

【未完待续】后台服务平台建设之单元测试

平台质量委员会的一大目标是制定单元测试规范,提供测试框架,帮助各个业务项目补全单元测试,让单元测试发挥其应有的作用,而不仅仅是个摆设,当前各个项目打包的时候都使用如下命令: mvn deploy -DskipTests -Dmaven.test.skip=true 显然,这是想尽一切办法跳过单元测试,为什么呢?究其原因,就是单元测试违背了其初……

【未完待续】后台服务平台建设之日志

作为平台质量管理委员会的一员,在完善CI集成的过程中,参与了平台建设的方方面面的工作,其中的一项就是日志框架等的设计和建设,我之前在微博的时候就总结了一下日志的总类,以及日志对线上服务性能的影响: Tomcat/Java服务器的日志总结 现在,我们讨论的焦点是: 1. 我们线上应该使用什么级别的日志?info还是debug? ……

浅谈传统行业技术人员如何向互联网行业转型?

最近有幸成为平台面试组的一员,一个阶段的面试下来看到了一个普遍的现象,求职者基本来自于传统行业,然而,这些来自于传统行业的技术人员,他们大多数掌握的技能是SSH,稍微资深一点的工程师对J2EE规范有所了解,他们仍然在使用J2EE规范的EJB, JPA, JMS, JCA, JAAS等技术,数据库基本上使用Oracle,DB2,Sqlserver等等……

【转载】【干货】twitter系统架构分析

原文出处:点击进入 twitter系统架构分析 (一)twitter的核心业务 twitter的核心业务,在于following和be followed: (1)following-关注 进入个人主页,会看到你follow的人发表的留言(不超过140个字),这是following的过程; (2)followed-被关注 你发布一条留言,follow你的人将看到这条信息,这是be followed的过……

【未完待续】后台服务平台建设随笔

最近有幸成为后台服务平台建设的一员,目标改造当前凌乱的各个后台项目,当前项目的特点是各个项目百家争鸣,技术交错复杂,没有统一的标准,没有统一的规范,实现功能即是完成任务,现在的需求是把当前众多项目中公用的模块进行抽取,抽象出通用的中间件,公用模块,公用项目等等,让各个垂直业务的开发人员能够更专注于……

后台服务接口定义那些事儿

最近有幸加入了公司平台的质量管理委员会,参与的第一个任务就是为公司制定一份后台服务接口定义的规范,并且根据规范制作一份服务接口文档的模板,在任务实施的过程中,通过组织平台各个模块的负责人进行一次头脑风暴,对服务提供的方式,实现细节,应用场景,文档模板,各种方案的优缺点等进行了充分的研讨,最后得出了……

HBase高表和宽表的设计

Twitter, Facebook, 微博等社交网站的主要构成就是用户关系,其中,最核心的用户关系需要解决下面3个问题: 1. 用户A登陆,需要查看自己关注了谁,以及显示其关注的用户的推文,所以要存储用户A关注了谁? 2. 用户A登陆,想要查看自己的粉丝,所以需要存储谁关注了用户A? 3. 用户A登陆,访问用户B的推特,那么需要知道用……

代理模式(Proxy)和装饰者(Decorator)模式的区别

想必大家每个开发人员都懂得设计模式,也都用过设计模式,感觉追捧设计模式就像武林中的剑宗只重视剑法,而不重视气功的修炼,例如,很多人知道代理模式,也知道装饰者模式,如果把这两个模式放在一起,对比下UML图,就会发现,两者的结构惊人的相似,所以又很少有人说出两者的区别,本文仅仅通过对比代理模式(Proxy)和装……