看到一篇关于系统可伸缩性(可扩展)的文章,eBay的架构师Randy Shoup写的,原文出处没找到,就不写转载的地址了.根据自己的理解对文章有修改剪切的地方. 在eBay,可伸缩性是我们每天奋力抵抗的一大架构压力.我们所做的每一项架构及设计决策,身前身后都能看到它的踪影.当我们面对的是全世界数以亿计的用户,每天的页面浏览量超过10亿,系统中的数据量要用P来计算——可伸缩性是生死交关的问题. 最佳实践 #1:按功能分割 相关的功能部分应该合在一起,不相关的功能部分应该分割开来——不管你把它叫做S…
转自:http://www.infoq.com/cn/articles/ebay-scalability-best-practices 在eBay,可伸缩性是我们每天奋力抵抗的一大架构压力.我们所做的每一项架构及设计决策,身前身后都能看到它的踪影.当我们面对的是全世界数以亿计的用户,每天的页面浏览量超过10亿,系统中的数据量要用皮字节(1015或250)来计算——可伸缩性是生死交关的问题. 在一个可伸缩的架构中,资源的消耗应该随负载线性(或更佳)上升,负载可由用户流量.数据量等测量.如果说性能衡…
1.基于ID选择器进行查询,并且使用find方法. //快速 $("#container div.footer"); //超快 $("#container").find("div.footer"); 使用find方法会减少遍历节点的时间. 2.使用混合选择器时,在右边的选择器最好具体一些. //优化前 $("div.data .footer"); //优化后 $(".data div.footer"); 左…
Spring Boot是最流行的用于开发微服务的Java框架.在本文中,我将与你分享自2016年以来我在专业开发中使用Spring Boot所采用的最佳实践.这些内容是基于我的个人经验和一些熟知的Spring Boot专家的文章. 在本文中,我将重点介绍Spring Boot特有的实践(大多数时候,也适用于Spring项目).以下依次列出了最佳实践,排名不分先后. 1.使用自定义BOM来维护第三方依赖 这条实践是我根据实际项目中的经历总结出的. Spring Boot项目本身使用和集成了大量的开…
Android开发最佳实践   移动开发Android经验分享应用GoogleMaterial Design 摘要:前 段时间,Google公布了Android开发最佳实践的一系列课程,涉及到一些平时开发过程中应该保持的良好习惯以及如何使用最新的Android Design Support Library来快速实现官方推荐的Material Design样式的应用. 10月14日-16日,由CSDN和创新工场联合主办的MDCC 2015中国移动开发者大会将在北京新云南皇冠假日酒店隆重召开,现在抢…
http://www.infoq.com/cn/news/2012/11/dropbox-scale-bestpractice Dropbox的运维工程师Rajiv,跟大家分享了可伸缩性设计的最佳实践第一讲.众所周知,Dropbox是一款非常易用的网络存储云端产品,现已达到40,000,000的用户.令人惊奇的是,Dropbox公司对于服务器集群的运维人员投入在一到三个人.Rajiv就系统的可伸缩性设计,尤其在资源有限.流量快速增长的情况下,将最佳实践分享给大家. Run with extra…
来自Google资深工程师Joshua Bloch的分享:API设计最佳实践 为什么API设计如此重要?API是一个公司最重要的资产. 为什么API的设计对程序员如此重要? API一旦发布,出于兼容性考虑,不能轻易地随心所欲进行修改,比如删除参数. 从API的上帝 - 设计者的视角出发,有助于提高代码质量. 一个优秀的API应该满足下列标准: 易学易用,甚至是自描述的,不需文档也能让新手快速上手.不易造成误解.后续维护者易于理解,满足开闭原则 - 能够很容易进行扩展. 如何设计一个好的API 首…
多种Windows Azure服务可以帮助您将应用程序安全性扩展到云. 有三种服务可提供多个提供程序之间的身份标识映射.内部部署数据中心间的连接和相互发送消息的应用程序功能(无论应用程序位于何处). ·  使用Windows Azure Active Directory,您可以通过位于云中的应用程序的代理身份验证在应用程序上创建单点登录应用程序.使用访问控制服务功能,您可以将来自多个提供程序的标识映射到应用程序可以识别的claims. ·   通过Service Bus,您可以使用安全消息传递和…
突然想写这一篇Git的使用心得,主要有几个原因,其一是自己使用Git也有快3年时间了,其间自己经历过一些坑,也有迷茫的时候,在呆过的大大小小的团队中,其实每个人也都并不是Git专家,很多对于流程以及Git本身的理解,还处于一个比较混乱的地带.自己写这篇文章希望能抛砖引玉,在总结自己得失的同时,能给大家带来更深层次的思考. 直接进入主题,经过这么多年的实践,多次想避开Git flow寻找更简单的流程,每次自认为找到了捷径,但事实上都发现有这样或者那样更多的问题,所以,我认为最佳的Git实践,仍然得…
本文主要读者 引言 REST是什么 统一接口 基于资源 通过表征来操作资源 自描述的信息 超媒体即应用状态引擎(HATEOAS) 无状态 可缓存 C-S架构 分层系统 按需编码(可选) REST快速提示 使用HTTP动词表示一些含义 合理的资源名 XML和JSON 创建适当粒度的资源 考虑连通性 定义 幂等性 安全 HTTP动词 GET PUT POST PUT和POST的创建比较 DELETE 资源命名 资源URI示例 资源命名的反例 复数 返回表征 资源通过链接的可发现性(HATEOAS续)…