看到一篇关于系统可伸缩性(可扩展)的文章,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 首…
React 专注于 view 层,组件化则是 React 的基础,也是其核心理念之一,一个完整的应用将由一个个独立的组件拼装而成. 截至目前 React 已经更新到 v15.4.2,由于 ES6 的普及和不同业务场景的影响,我们会发现目前主要有三种创建 React 组件的写法:1. ES5写法React.createClass,2. ES6写法React.Component,3. 无状态的函数式写法(纯组件-SFC). 你们最钟爱哪种写法呢?萝卜青菜各有所爱~ 每个团队都有自己的代码规范和开发模…
前言 对于项目版本管理,你是否存在这样的痛点:项目分支多而杂不好管理,git log界面commit信息错乱复杂无规范,版本回退不知道选择什么版本合适--. 项目版本管理的最佳实践系列,笔者将以两篇文章的形式展开介绍(即基础篇与进阶篇).本文为gitflow版本管理的最佳实践-基础篇.基础篇主要介绍git应用于生产的基本流程与怎么使用gitflow管理你的项目版本线(适用于敏捷迭代的项目管理场景下).进阶篇 将着重介绍gitflow+jenkins+docker+DevOps+敏捷Scrum 完…
本文主要读者 引言 REST是什么 统一接口 基于资源 通过表征来操作资源 自描述的信息 超媒体即应用状态引擎(HATEOAS) 无状态 可缓存 C-S架构 分层系统 按需编码(可选) REST快速提示 使用HTTP动词表示一些含义 合理的资源名 XML和JSON 创建适当粒度的资源 考虑连通性 定义 幂等性 安全 HTTP动词 GET PUT POST PUT和POST的创建比较 DELETE 资源命名 资源URI示例 资源命名的反例 复数 返回表征 资源通过链接的可发现性(HATEOAS续)…
一.概述 因为REST是一种架构风格而不是严格的标准,所以它可以灵活地实现.由于这种灵活性和结构自由度,对设计最佳实践也有很大的差异. API的方向是从应用程序开发人员的角度考虑设计选择. 幂等性 不要从字面意思来理解什么是幂等性,恰恰相反,这与某些功能紊乱的领域无关.下面是来自维基百科的解释: 在计算机科学中,术语幂等用于更全面地描述一个操作,一次或多次执行该操作产生的结果是一致的.根据应用的上下文,这可能有不同的含义.例如,在方法或者子例程调用具有副作用的情况下,意味着在第一调用之后被修改的…
原文:https://www.cnblogs.com/jaxu/p/7908111.html 译文作者:Jaxu 英文原文:https://files-cdn.cnblogs.com/files/jaxu/RESTful_Best_Practices_v1_2.pdf 本文主要读者 该最佳实践文档适用于对RESTful Web服务感兴趣的开发人员,该服务为跨多个服务的组件提供了较高的可靠性和一致性.按照本文的指导,可快速.广泛.公开地为内外部客户采用. 本文中的指导原则同样适用于工程师们,他们希…
引言 Kubernetes已经成为市场上事实上领先的编配工具,不仅对技术公司如此,对所有公司都是如此,因为它允许您快速且可预测地部署应用程序.动态地伸缩应用程序.无缝地推出新特性,同时有效地利用硬件资源. 本期我们将回顾采用Kubernetes作为容器编排工具的公司所面临的复杂性和挑战.我们希望我们提供的经验教训.最佳实践和技巧将帮助您在前往K8s旅途中起步并继续前进. 本期将介绍关于在Kubernetes生产环境的最佳实践,包括:: 为上K8s容器云准备好应用程序 在Kubernetes中获得…
在软件测试领域从业蛮久了,常有人会问我: 刚入测试一年,很迷茫,觉得没啥好做的-- 测试在公司真的不受重视,我是不是去转型做开发会更好?  资深的测试架构师的发展路径是怎么样的?我平时该怎么学习? 我估计不少人有这样的想法,甚至你也会被身边的人所影响,因为很多人的第一印象会觉得做测试比做开发简单很多. 这也是测试面临的普遍情况. 相比研发和产品来说,软件测试在国内暂时是不太受重视: 软件测试的待遇也比不上研发和产品: 当然现在的软件行业也很重视软件质量,所以软件测试的待遇和地位也在上升: 软件测…
<开源安全运维平台:OSSIM最佳实践 > 李晨光 著 清华大学出版社出版 内 容 简 介在传统的异构网络环境中,运维人员往往利用各种复杂的监管工具来管理网络,由于缺乏一种集成安全运维平台,当遇到故障时总是处于被动“救火”状态,如何将资产管理.流量监控.漏洞管理.入侵监测.合规管理等重要环节,通过开源软件集成到统一的平台中,以实现安全事件关联分析,可从本书介绍的OSSIM 平台中找到答案.本书借助作者在OSSIM 领域长达10 年开发应用实践经验之上,以大量生动实例阐述了基于插件收集日志并实现…
2016 年已经过去一半,你在年初制定的成长计划都实现了吗? 学海无涯,技术成长不是一簇而就的事情.本期 fir.im Weekly 推荐 王下邀月熊_Chevalier的 我的编程之路--知识管理与知识体系,适合所有的开发者阅读. 还有作者的关于 2016里一些 Android 最佳实践列表--Opinionated,其中集成 Medium 上关于最佳实践的 Checklist,并加入了一些个人看法,包涵Language.UI.Network.Storage.DataBase.SysProc.…
前端工程师对写标准的前端代码的重视程度很高.这些最佳标准实践并不是那个权威组织发布的,而是由大量的前端工程师们在实践过程中的经验总结,目的在于提高代码的可读性,可维护性和性能.那么接着上一篇,我们再来谈谈CSS代码的一些标准实践. 1,命名 和其他语言规范一样,css的命名也讲究命名要有意义,命名要尽可能短但是要足够表达含义:命名的词用连字符连接. 不规范的命名: #navigation{ } .demoimage{ } .error_status{ } 规范的命名: #nav{ } .demo…
作者 王枫 发布于2014年5月28日 前言 Microsoft Azure 是微软公有云的唯一解决方案.借助这一平台,用户可以以多种方式部署和发布自己的应用. 这是一个开放的平台,除了对于Windows服务器和SQL Server的支持,Microsoft Azure也支持了大量主流开源软件和框架,包括Linux, Tomcat®, Java®等.如何将一个基于开源软件的系统迁移到Microsoft Azure平台,并充分发挥云在弹性.敏捷性等方面的优势? 本文和读者分享一些最佳实践经验,并在…
多种Windows Azure服务可以帮助您将应用程序安全性扩展到云. 有三种服务可提供多个提供程序之间的身份标识映射.内部部署数据中心间的连接和相互发送消息的应用程序功能(无论应用程序位于何处). ·  使用Windows Azure Active Directory,您可以通过位于云中的应用程序的代理身份验证在应用程序上创建单点登录应用程序.使用访问控制服务功能,您可以将来自多个提供程序的标识映射到应用程序可以识别的claims. ·   通过Service Bus,您可以使用安全消息传递和…
在WindowsAzure安全最佳实践 - 部分:深度解析挑战防御对策中,我介绍了威胁形势以及在您的应用程序中采用深度防御的计划. 在本部分中,我将说明 Windows Azure的安全是一项共同责任,Windows Azure为您的应用程序提供超出内部部署应用程序需求的强大安全功能.但另一方面,它也暴露了您应该考虑的其他漏洞.最后,在应用程序开发过程中,您应该积极保护应用程序的安全. 本节将概括介绍 Windows Azure提供的功能.有关详细信息,请参阅全球基础服务在线安全.全球基础服务团…
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}…
突然想写这一篇Git的使用心得,主要有几个原因,其一是自己使用Git也有快3年时间了,其间自己经历过一些坑,也有迷茫的时候,在呆过的大大小小的团队中,其实每个人也都并不是Git专家,很多对于流程以及Git本身的理解,还处于一个比较混乱的地带.自己写这篇文章希望能抛砖引玉,在总结自己得失的同时,能给大家带来更深层次的思考. 直接进入主题,经过这么多年的实践,多次想避开Git flow寻找更简单的流程,每次自认为找到了捷径,但事实上都发现有这样或者那样更多的问题,所以,我认为最佳的Git实践,仍然得…
參考:IBM WebSphere 开发人员技术期刊: 最重要的 Java EE 最佳实践 IBM WebSphere 开发人员技术期刊: 最重要的 Java EE 最佳实践 2004 年 IBM® WebSphere® 开发人员技术期刊中曾发表过一篇名称类似的文章,本文是其更新版本号. 这个修正版中考虑了一些不断变化的技术趋势.更重要的是推荐了一些作者觉得应当广泛遵循.但尚未广泛遵循的实践. 2 评论: Keys Botzum, 高级技术人员 , EMC Kyle Brown, 杰出projec…
2018年11月13日至15日,由CNCF主办的KubeCon + CloudNativeCon将首次登陆中国上海,这是全球范围内规模最大的Kubernetes和云原生技术盛会. 唯一聚焦客户实践的分论坛 11月13日,KubeCon行业客户云原生最佳实践日(暨云原生技术实践峰会上海站)将同场召开.该分论坛由灵雀云和云原生技术实践联盟(CNBPA)共同主办,是KubeCon同期活动中,唯一一个面向行业客户,分享云原生技术应用和落地实践的研讨会.届时,招商银行.中国移动.树根互联.腾讯云等领先客户…
.NET Core 2.1中的HttpClientFactory最佳实践 ASP.NET Core 2.1中出现一个新的HttpClientFactory功能, 它有助于解决开发人员在使用HttpClient实例从其应用程序发出外部Web请求时可能遇到的一些常见问题. 介绍 在.NETCore平台的2.1新增了HttpClientFactory,虽然HttpClient这个类实现了disposable,但使用它的时候用声明using包装块的方式通常不是最好的选择.处理HttpClient,底层s…
ASP.NET Core 2.1中出现一个新的HttpClientFactory功能, 它有助于解决开发人员在使用HttpClient实例从其应用程序发出外部Web请求时可能遇到的一些常见问题. 介绍 在.NETCore平台的2.1新增了HttpClientFactory,虽然HttpClient这个类实现了disposable,但使用它的时候用声明using包装块的方式通常不是最好的选择.处理HttpClient,底层socket套接字不会立即释放.该HttpClient类是专为多个请求重复使…
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/79652064 本文为Kubernetes监控系列的第二篇文章.系列文件夹例如以下: __biz=MzA5OTAyNzQ2OA==&mid=2649697213&idx=1&sn=a6fbe37c19a9b6a7fa7916a6f3a86771&chksm=889314debfe49dc8f0b684de…
Struts2.Spring.Hibernate 高效开发的最佳实践 Struts2.Spring.Hibernate(SSH)是最常用的 Java EE Web 组件层的开发技术搭配,网络中和许多 IT 技术书籍中都有它们的开发教程,但是通常的教程都会让很多程序员陷入痛苦的配置与修改配置的过程.本文利用 SSH 中的技术特性,利用 Java 反射技术,按照规约优于配置的原理,基于 SSH 设定编写了一个通用开发框架,这使得开发者可以专注于业务逻辑的开发,而不用随着业务增加而添加或修改任何配置,…
文章来自:https://yq.aliyun.com/articles/61767 先说我的问题,最近某个存储过程,暂定名字:sp_a 总是执行超时,sp_a带有一个参数,暂定名为 para1 varchar(50),刚开始以为 是 sp_a 的语句优化得不够好,毕竟当时写的时候都是能用就成. 然后啪啪啪优化存储过程,写完了一测试,速度蛮快的,秒出结果.然后上线之...我写存储过程的时候,是直接定义一个参数,然后在里面写代码,没有创建存储过程去执行存储过程,大概意思是在查询分析器里面像下面这样写…
作者:Kristopher Jones 翻译 :吴祺深 欢迎访问网易云社区,了解更多网易技术产品运营经验. 让我们来说一下hreflang属性.如果你还没有关掉这个页面,那么你已经完成了这个教程最重要的一步:开始. 为你的国际客户优化SEO实践,需要比试图对本地的暖通空调公司进行排名更多的技术粒度和完全不同的战略.从链接构建到URL结构的一系列东西,都需要根据区域性搜索意图和语言差异来进行优化.幸运的是,作为开始的一步,我们已经汇编了多数搜索引擎进行国际站点排名时,常用的排序因子: * 针对语言…