淘宝高可伸缩高性能架构的相关框架介绍

一 应用无状态(淘宝session框架)

俗话说,一个系 统的伸缩性的好坏取决于应用的状态如何管理。为什么这么说呢?咱们试想一下,假如我们在session中保存了大量与客户端的状态信 息的话,那么当保存状态信息的server宕机的时候,我们怎么办?通常来说,我们都是通过集群来解决这个问题,而通常 所说的集群,不仅有负载均衡,更重要的是要有失效恢复failover,比如tomcat采 用的集群节点广播复制,jboss采 用的配对复制等session状 态复制策略,但是集群中的状态恢复也有其缺点,那就是严重影响了系统的伸缩性,系统不能通过增加更多的机器来达到良好的水平伸缩,因为集群节点间 session的 通信会随着节点的增多而开销增大,因此要想做到应用本身的伸缩性,我们需要保证应用的无状态性,这样集群中的各个节点来说都是相同的,从而是的系统更好的水平伸缩。[......]

阅读全文

自己动手写淘宝开放平台:Rop(将WebService REST进行到底!!)

简介 

最近在开发自己公司网站的开放API服务,较深入地研究了TOP(Taobao Open Platform:淘宝开放平台http://api.taobao.com)。在接触过这么多的网站API中,发现TOP真的是做得非常不错,结构清晰明了,使用简单轻便。但是TOP没有开源,搞不到TOP的源码。所以只能“自己动手,丰衣足食”了。[......]

阅读全文

淘宝全站HTTPS 百万页面改造技术细节大起底

电商启用全站HTTPS是一件门槛极高的事情,它需要投入巨大的资源,不仅是人力、财力等方面,而且对技术能力也提出了极为苛刻的要求。

一般来说,普通电商只会在登录和交易这些“关键”环节启用HTTPS。而目前,阿里巴巴是全球唯一大规模启用电商平台全站HTTPS的公司[......]

阅读全文

淘宝后台卖家工具ISV > 【仅限会员类目应用】应用审核流程解读

第一步:成为开放平台的认证开发者。

这步操作又简单又复杂,复杂的是,你要有心去了解开放平台里面所有的文档。

每一个文档都是有作用的,特别是API文档,可以好好研究下。 

第二步:想好自己要做什么了吗?

调研卖家的需求(别想当然的做一款泛滥的应用)

解决卖家痛点(不要做一款无竞争力的应用)

[......]

阅读全文

mysql中间件研究(Atlas,cobar,TDDL)

mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover 等,但其不支持大数据量的分库分表且性能较差。下面介绍几款能代替其的mysql开源中间件产品,Atlas,cobar,tddl,让我们看看它们各自有些什么优点和新特性吧。[......]

阅读全文

淘宝内部分享:怎么跳出MySQL的10个大坑

【编者按】淘宝自从2010开始规模使用MySQL,替换了之前商品、交易、用户等原基于IOE方案的核心数据库,目前已部署数千台规模。同时和 Oracle, Percona, Mariadb等上游厂商有良好合作,共向上游提交20多个Patch。目前淘宝核心系统研发部数据库组,根据淘宝的业务需求,改进数据库和提升性能,提 供高性能、可扩展的、稳定可靠的数据库(存储)解决方案。 目前有以下几个方向:单机,提升单机数据库的性能,增加我们所需特性;集群,提供性能扩展,可靠性,可能涉及分布式事务处理;IO存储体系,跟踪IO设备 变化潮流, 研究软硬件结合,输出高性能存储解决方案。本文是来自淘宝内部数据库内容分享。[......]

阅读全文

天猫浏览型应用的CDN静态化架构演变

本文作者徐昭,花名长恭,主要负责天猫详情系统的架构优化工作。毕业于浙江大学计算机专业,热爱Java Web技术,多关注服务端性能优化,热衷开源技术的研究和分享。本文原载自CSDN《程序员》杂志1月刊[......]

阅读全文

技术栈的选择:从Groupon转向Node.js、淘宝去IOE谈起

在本文开始之前,先来看看一些案例。

  • 今年10月份,知名团购网站Groupon宣布完成了为期1年的工作——将Groupon美国站点从Ruby on Rails全面迁移到了Node.js。
  • 2010~2013期间,阿里巴巴逐步完成了“去IOE”运动,将“IBM小型机+Oracle数据库+ EMC2存储”架构逐步转向了“MySQL+PC Server”。
  • Twitter将其一些后端服务从Ruby on Rails迁移到了JVM上。
  • 京东商场后台抛弃.NET,使用Java重写。
  • Facebook iOS客户端使用HTML5重写,后又换回原生应用。
  • ……

[......]

阅读全文

jQuery插件实现图片延迟加载 -- jquery.lazyload

看到了淘宝产品介绍中,图片是在下拉滚动条时加载,这是一个很不错的用户体验。减少了页面加载的时间了,也减轻了服务器的压力,就查了下用JQuery..

什么是ImageLazyLoad技术

在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互。尤其是对于高清晰的图片,占的几M的空间。ImageLazyLoad技术就是,当前可见界面的图片是加载进来的,而不可见页面(通过滚动条下拉可见)中的图片是不加载的,这样势必会引起速度上质的提升。[......]

阅读全文

淘宝网架构分享总结

一、为什么stateless比较有利于实现水平伸缩

关于什么是stateless的扫盲,见这个贴:无状态服务(stateless service)

一般有一个共识,就是把应用做成无状态的,会比较容易实现水平伸缩。但是以前一直有一个想法,就算应用是有状态的,也可以做成水平伸缩:只需要在负载均衡那里做一个session绑定就可以了,根据某种标识,把请求固定地发送到特定的server上[......]

阅读全文

大型系统的JAVA中间件

概要
淘宝这几年经历了和其他大型网站类似的,从比较集中的应用到大型分布式应用的演进,在这个过程中,我们遇到并解决了一些问题,并且通过系统的演进、重构,沉淀了几个相关的中间件产品。 淘宝的Java中间件,主要由服务框架、消息中间件、分布式数据层组成,此外也有支撑这三块儿部分的其他系统,在这次的分享中,会系统地给大家分享淘宝 Java中间件的发展过程,包括我们遇到的重要的问题以及各个产品不同的特点和实现。对和这些中间件相关的支撑系统,也会做简要的介绍。 希望通过这次机会,让相关的同学能够系统地了解我们在这个领域的工作以及遇到的问题。也希望我们之前的工作可以给参会的同学提供一定的参考和帮助。[......]

阅读全文