from:http://rdc.taobao.com/team/jm/archives/934
一个公司大了,总有部分人要去做一些通用的东西给大家用,我这里说的基础产品就是这类通用性质的东西,不一定高科技,但是一定很多人依赖你的东西来完成各种各样的功能。做这样的东西,有些体会可以说下。
首先,能集中存储的,就不要分布存储,数据集中存储有单点的危险,但是比之分布式存储带来的复杂度不可同日而语。况且集中式的存储也可以利用各种机制做备份,所谓单点风险远没有想象中那么大。
其次,能利用开源框架的,就不要重复造轮子。程序员都喜欢造轮子,但是造轮子的周期长,并且不一定造的更好。在强调开发效率的互联网时代,如果能直接利用现有框架组装出你想要的东西,迅速占领市场,比你造的高性能、高可用、高科技的轮子更实用。这个跟做新产品开发有点类似,迅速组装,高效开发,然后再想办法改进。
第三,要文本,不要二进制。协议要文本化,配置要文本化。不要担心性能,在可见的时间里,你基本不会因为文本化的问题遇到性能瓶颈。
第四,要透明,不要黑盒。基础产品尤其需要对用户透明,你的用户不是小白用户,他们也是程序员,而程序员天生对黑盒性质的东西充满厌恶,他们总想知道你的东西背后在做什么,这对于查找问题分析问题也很重要。怎么做到透明呢?设计,统计,监控,日志等等。
第五,要拥抱标准,不要另搞一套。已经有了久经考验的HTTP协议,你就不要再搞个STTP,有了AMQP协议,你就不要再搞个BMQP。被广泛认可的标准是一些业界的顶尖专家制定出来的,他们早就将你没有考虑到的问题都考虑进去了。你自己搞的那一套,随着时间推移你会发现跟业界标准越来越像,因为面对的问题是一样的。使用标准的额外好处是,你有一大堆可用的代码或者类库可以直接使用,特别是在面对跨语言的时候。
第六,能Share nothing,就不要搞状态复制。无状态的东西是最可爱的,天然的无副作用。水平扩展不要太容易。
第七,要将你的系统做的越不“重要”越好,如果太多的产品依赖你的系统,那么当你的系统故障的时候,整个应用就完蛋了。我们不要担这个责任,我们要将系统做的越来越“不重要”,别人万一没了你也能重启,也能一定时间内支撑正常的工作。
第八,要专注眼前,适当关注未来。有远见是好事,但是太多远见就容易好高骛远。为很小可能性设计的东西,没有机会经历实际检验,当故障真的发生的时候,你也不可能完全信赖它。更好的办法是将系统设计得可介入,可在紧急情况下人工去介入处理,可介入是不够的,还要容易介入。
第九,不要对用户有假设,假设你的用户都是smart programmer,假设你的用户不需要位运算,假设你的用户要同步不要异步。除非你对这个领域非常熟悉并实际使用过类似的东西,否则还是不要假设。
第十,咳咳,似乎没有第十了,一大早憋了这么篇无头无脑的Blog,大伙将就看看。
分享到:
相关推荐
数据魔方系统架构.pdf”聚焦于淘宝的数据分析和决策支持。数据魔方是淘宝的数据仓库系统,它用于处理和分析海量的业务数据,为运营决策提供支持。这份资料可能涵盖数据仓库的设计原则、ETL(提取、转换、加载)过程...
消息中间件作为中间件的一种,以其松耦合和异步处理的特性成为了淘宝Java中间件架构的重要组成部分。消息中间件的引入,使得淘宝的业务系统可以轻松完成一件事情后,通过消息通知其他系统进行相应的处理。消息中间件...
《淘宝Java中间件之路》是一本深入探讨Java中间件技术的资源,主要针对那些希望了解和掌握大型电商平台如淘宝背后的技术架构与中间件系统的读者。这本书籍或文档集合详细介绍了如何构建可扩展、高可用、高性能的...
在互联网公司的技术发展中,数据库架构的演进是一个至关重要的环节,尤其对于像淘宝这样的大型电商平台。淘宝数据库架构的演变过程反映了互联网技术从无到有、从简单到复杂、从单一到分布式的发展趋势,这其中涉及到...
为了解决Weblogic中间件的性能问题和高昂成本,淘宝迁移到JBoss,同时抛弃了EJB,转而支持Spring框架。在数据库方面,为了支持分库,淘宝引入了数据框架DBRoute,并开始探索分布式缓存和CDN网络的构建。 在V2.1阶段...
淘宝自2003年成立以来,其技术架构经历了多次迭代,以应对不断增长的业务需求、用户规模和数据量。从最初的LAMP架构到Java企业级应用,再到分布式架构和微服务,淘宝的技术栈不断演进,以确保系统的高稳定性、高数据...
开源个人参考淘宝的TDDL分库分表思路写的一个分库分表中间件Kamike.divide. 分库分表这个是8月份左右跟淘宝的数据分析部门的架构师离哲交流的时候产生的想法,离哲推荐采用TDDL进行分库分表。 回去一看,却...
2011.9.9~9.10,第三届系统架构师大会(2011)在北京召开。...晒晒你的系统架构.pdf 开源软件在运维中的实战.pdf 淘宝Java中间件之路.pdf 淘宝OceanBase云存储实践.pdf 应用交付网络优化技术.pdf ……
### 淘宝Notify消息中间件详解 #### 综述 消息中间件作为一种重要的软件架构组件,被广泛应用于现代分布式系统之中。它提供了一种基于消息队列的异步通信机制,有效地降低了不同系统组件之间的耦合度,提高了系统...
《淘宝数据库架构演进历程》这篇文档详细记录了淘宝作为中国最大的电商平台,其数据库架构从初期到现在的演变过程,这是一段技术与业务紧密结合、不断优化的历程。在这个过程中,淘宝面临了各种挑战,如数据量的爆炸...
淘宝作为中国最大的电子商务平台,其技术架构的发展历程和背后的技术实力是值得深入探讨的。从2011年的“双11购物狂欢节”可以看出,淘宝面对的流量压力巨大,一分钟内就有342万人同时在线,这对其技术架构提出了极...
《淘宝基础数据架构》 淘宝,作为中国最大的电商平台,其背后的数据架构是支撑海量交易、个性化推荐、实时数据分析的关键。本资料将深入探讨淘宝的基础数据架构,帮助我们理解这个复杂而高效的数据体系。 1. 数据...
### 淘宝技术架构进化之路 #### 一、引言 随着互联网技术的迅猛发展,电子商务平台如淘宝等在用户量与业务复杂度上都经历了指数级的增长。因此,如何构建一个稳定、高效且可扩展的技术架构成为了一个至关重要的问题...
### 淘宝技术架构分析 #### 一、淘宝简介及技术背景 淘宝作为一个领先的电子商务平台,自2003年成立以来,经历了快速的发展和技术迭代。随着用户数量和交易量的急剧增长,其技术架构也面临着诸多挑战。本文将基于...
这些文件名为14.pdf、11.pdf、2.pdf、5.pdf、7.pdf、12.pdf、6.pdf、10.pdf、13.pdf、4.pdf的压缩包内容,很可能包含了新浪、百度、腾讯和淘宝这四家著名互联网公司的技术架构系列资料。我们可以推测,这些PDF文档...
### 淘宝技术架构概览 #### 一、淘宝技术架构的核心需求 淘宝作为中国乃至全球最大的电子商务平台之一,其技术架构面临着诸多挑战。淘宝技术架构的核心需求主要体现在四个方面:高稳定性、高容量、高性能以及高可...
《企业IT架构转型之道》是阿里巴巴中间件研发团队成员钟华所著的一本书,主要探讨了阿里巴巴的中台战略思想及其在实际架构中的应用。这本书分为三大部分,共计11章,精炼成52页的内容,旨在帮助企业理解并实施IT架构...
淘宝网的架构演进与变化,是一段充满挑战与创新的旅程,反映了中国互联网巨头如何在不断增长的用户需求和技术进步的推动下,逐步构建和完善其技术栈的过程。以下是对淘宝网架构演变的关键节点和重要知识点的深入解析...