- 浏览: 2662487 次
- 来自: 杭州
文章分类
- 全部博客 (1188)
- webwork (4)
- 网摘 (18)
- java (103)
- hibernate (1)
- Linux (85)
- 职业发展 (1)
- activeMQ (2)
- netty (14)
- svn (1)
- webx3 (12)
- mysql (81)
- css (1)
- HTML (6)
- apache (3)
- 测试 (2)
- javascript (1)
- 储存 (1)
- jvm (5)
- code (13)
- 多线程 (12)
- Spring (18)
- webxs (2)
- python (119)
- duitang (0)
- mongo (3)
- nosql (4)
- tomcat (4)
- memcached (20)
- 算法 (28)
- django (28)
- shell (1)
- 工作总结 (5)
- solr (42)
- beansdb (6)
- nginx (3)
- 性能 (30)
- 数据推荐 (1)
- maven (8)
- tonado (1)
- uwsgi (5)
- hessian (4)
- ibatis (3)
- Security (2)
- HTPP (1)
- gevent (6)
- 读书笔记 (1)
- Maxent (2)
- mogo (0)
- thread (3)
- 架构 (5)
- NIO (5)
- 正则 (1)
- lucene (5)
- feed (4)
- redis (17)
- TCP (6)
- test (0)
- python,code (1)
- PIL (3)
- guava (2)
- jython (4)
- httpclient (2)
- cache (3)
- signal (1)
- dubbo (7)
- HTTP (4)
- json (3)
- java socket (1)
- io (2)
- socket (22)
- hash (2)
- Cassandra (1)
- 分布式文件系统 (5)
- Dynamo (2)
- gc (8)
- scp (1)
- rsync (1)
- mecached (0)
- mongoDB (29)
- Thrift (1)
- scribe (2)
- 服务化 (3)
- 问题 (83)
- mat (1)
- classloader (2)
- javaBean (1)
- 文档集合 (27)
- 消息队列 (3)
- nginx,文档集合 (1)
- dboss (12)
- libevent (1)
- 读书 (0)
- 数学 (3)
- 流程 (0)
- HBase (34)
- 自动化测试 (1)
- ubuntu (2)
- 并发 (1)
- sping (1)
- 图形 (1)
- freemarker (1)
- jdbc (3)
- dbcp (0)
- sharding (1)
- 性能测试 (1)
- 设计模式 (2)
- unicode (1)
- OceanBase (3)
- jmagick (1)
- gunicorn (1)
- url (1)
- form (1)
- 安全 (2)
- nlp (8)
- libmemcached (1)
- 规则引擎 (1)
- awk (2)
- 服务器 (1)
- snmpd (1)
- btrace (1)
- 代码 (1)
- cygwin (1)
- mahout (3)
- 电子书 (1)
- 机器学习 (5)
- 数据挖掘 (1)
- nltk (6)
- pool (1)
- log4j (2)
- 总结 (11)
- c++ (1)
- java源代码 (1)
- ocr (1)
- 基础算法 (3)
- SA (1)
- 笔记 (1)
- ml (4)
- zokeeper (0)
- jms (1)
- zookeeper (5)
- zkclient (1)
- hadoop (13)
- mq (2)
- git (9)
- 问题,io (1)
- storm (11)
- zk (1)
- 性能优化 (2)
- example (1)
- tmux (1)
- 环境 (2)
- kyro (1)
- 日志系统 (3)
- hdfs (2)
- python_socket (2)
- date (2)
- elasticsearch (1)
- jetty (1)
- 树 (1)
- 汽车 (1)
- mdrill (1)
- 车 (1)
- 日志 (1)
- web (1)
- 编译原理 (1)
- 信息检索 (1)
- 性能,linux (1)
- spam (1)
- 序列化 (1)
- fabric (2)
- guice (1)
- disruptor (1)
- executor (1)
- logback (2)
- 开源 (1)
- 设计 (1)
- 监控 (3)
- english (1)
- 问题记录 (1)
- Bitmap (1)
- 云计算 (1)
- 问题排查 (1)
- highchat (1)
- mac (3)
- docker (1)
- jdk (1)
- 表达式 (1)
- 网络 (1)
- 时间管理 (1)
- 时间序列 (1)
- OLAP (1)
- Big Table (0)
- sql (1)
- kafka (1)
- md5 (1)
- springboot (1)
- spring security (1)
- Spring Boot (3)
- mybatis (1)
- java8 (1)
- 分布式事务 (1)
- 限流 (1)
- Shadowsocks (0)
- 2018 (1)
- 服务治理 (1)
- 设计原则 (1)
- log (0)
- perftools (1)
最新评论
-
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介 -
107x:
不错,谢谢!
Python机器学习库
从应用层面上讲,天猫和淘宝的应用都构建于自主研发的服务化架构以及MVC框架和Spring之上。这是由分布式文件系统、分布式缓存、消息中间件和CDN网络带宽支持的。核心数据库可以通过自主研发的数据访问中间件访问,底层数据库的水平拆分和数据搬运对应用是完全透明的。
基于这种水平扩容架构,面对促销活动引起的流量压力,天猫和淘宝的系统可以灵活地添加机器来应对。
前期我们花了很多时间进行容量计算,对于网站所有应用之间的依赖关系、流量分配比例和应用内部的调用链路做了深入的分析,通过在线的压力测试对各个应用单机的QPS进行准确评估,从而达到对网站目前集群处理能力的客观判断。这个过程操作起来实际上是非常有挑战的,因为天猫和淘宝本质上不是一个耦合性很弱的系统,通过单一系统的压测不能很好地反映系统的瓶颈。同时,我们也不可能完全照搬线上的环境和配置一套完整的压力测试环境。所以会更多地依赖线上的压力测试,真实地反映系统的短板。
最后,则是根据网站的自然增长趋势和双11的历史数据,评估当天有可能达到的业务指标,再从这些业务指标对各个系统扩容目标进行准确地计算。
当然,仅仅依靠水平扩容方式,对于大促高峰过后的机器利用率是存在弊端的,同时也会大量依赖运维人员的灵活调配能力。因此,今年我们在以聚石塔为代表的一些应用中也尝试了大量的弹性计算框架,在塔中很多商家的不同应用共用一个集群的系统资源。双11当天弹性升级带宽、VM和存储资源。同时,我们的很多内部应用也采用了这样的机制。这也是今年在双11准备过程中我们在技术上的一个突破。
在双11大促的准备过程中,淘宝和天猫的团队对系统进行了针对性的优化,包括SQL和缓存命中率的优化、数据库连接和应用服务器参数的调整、JVM参数的配置、代码的复审和梳理等等。此外,大量固态硬盘(SSD)的使用也提高了数据库存储的整体性能。
为了在负载超过预期时关闭非核心操作,团队也准备了业务降级和限流预案。
所谓业务降级,就是牺牲非核心的业务功能,保证核心功能的稳定运行。简单来说,要实现优雅的业务降级,需要将功能实现拆分到相对独立的不同代码单元,分优先级进行隔离。在后台通过开关控制,降级部分非主流程的业务功能,减轻系统依赖和性能损耗,从而提升集群的整体吞吐率。
当出现了降级还无法缓解的大流量时,就要通过限流的方式来应付。首先从最前端的Web应用进行排队,控制流入应用的流量,也就是通过Web服务器的定制模块来实现QPS限流功能。根据被保护的Web服务器所能承受的最大压力做强制的QPS流控,超出QPS上限的用户进入排队等待页面。另外,为了避免前端某个Web应用出现大规模流量激增时造成后端服务无法承载的雪崩效应,后端的服务会针对低优先级的业务进行限流,以确保不同来源的业务压力不会压垮后端服务,保障核心业务的访问。
针对2012年的双11,天猫和淘宝总共准备了400多个系统降级预案。 为了保证所有降级和限流预案的准确执行,我们在前期做过了大量的预案演习,所有的应急预案虽然原则上我们一个都不希望使用,但是必须确保每个预案执行的准确性和便捷性
相关推荐
《尽在双11:阿里巴巴技术演进与超越》是一份深入探讨阿里巴巴集团在历年双十一购物狂欢节背后技术发展的报告。这份文档详细阐述了阿里巴巴如何应对全球最大的在线交易活动所带来的巨大流量挑战,以及在此过程中所...
《尽在双11:阿里巴巴技术演进与超越》是一本深入探讨阿里巴巴在双十一这个全球最大的线上购物狂欢节背后的技术发展历程和技术挑战的书籍。书中详细阐述了阿里巴巴如何应对每年双十一期间的巨大流量冲击,以及在技术...
阿里双11技术是阿里巴巴集团每年双十一购物狂欢节背后的核心技术支撑体系,它涉及了分布式计算、大数据处理、云计算、数据库优化、智能算法等多个领域的先进技术。在这个庞大的技术系统中,阿里巴巴不仅展示了其强大...
网络负载平衡(Network Load Balancing, NLB)是一种技术,用于在多台服务器之间分配网络流量,以提高可用性和性能。本实训主要涉及在Windows Server 2016环境中配置NLB服务,确保高流量网站和服务的稳定运行。 **1...
实用负载均衡技术网站性能优化攻略 负载均衡技术是指通过在多个服务器上分配访问负载,以提高网站的可用性、可靠性和性能的一种技术。负载均衡技术可以应用于各种类型的网站,包括静态网站、动态网站、门户网站、...
《九年双11:互联网技术超级工程》是阿里巴巴集团针对历年双十一购物狂欢节背后的技术实践与创新进行深度总结的一份报告。这份文档详尽地揭示了阿里如何在短短九年时间里,将一个普通的网络购物日打造成为全球最大的...
这些技术对于处理大规模并发事件至关重要,能够有效地分散负载,提高系统的响应速度和处理能力。 2. **云计算技术**:阿里云在双11中的角色不容忽视,它提供了弹性的计算资源,能够根据业务需求动态调整服务器数量...
DPDK(Data Plane Development Kit)技术峰会中,阿里云的梁军分享了基于DPDK实现的负载均衡技术如何支撑阿里巴巴双11业务。DPDK是一种高性能的用户态网络协议栈,可以提供高性能的平台,并具有用户态处理数据包的...
负载均衡技术是现代网络架构中用于提高网站性能和可靠性的关键技术之一。通过分散单个服务器的请求负载,负载均衡能够优化资源使用、最大化吞吐量、减少响应时间,并确保重要的应用不会因为过载而崩溃。在本文中,...
负载均衡技术是现代网站架构中用于提高系统可扩展性和稳定性的关键技术之一。它通过合理分配网络或应用程序的负载,避免单个服务器由于请求过多而导致性能下降甚至宕机。本篇关于“实用负载均衡技术:网站性能优化...
"阿里云专有云企业版V3.8.1负载均衡技术白皮书20190910" 阿里云专有云企业版V3.8.1负载均衡技术白皮书旨在为用户提供一份详细的技术指南,帮助用户更好地理解和使用阿里云负载均衡产品。 技术优势 阿里云负载均衡...
在云计算领域中,负载均衡是构建可伸缩、可靠和高可用云服务的关键技术之一。负载均衡用于提高系统性能和稳定性,它通过合理分配流量至后端多个服务器,有效避免单点故障,提升系统整体的处理能力。负载均衡主要分为...
负载均衡技术是网络服务中的关键组成部分,它在大型分布式系统中扮演着至关重要的角色,确保了高可用性和可扩展性。本技术文档集合涵盖了多个负载均衡的方面,旨在帮助学习者深入理解其原理、实现方式以及应用实践。...
总之,负载均衡技术作为现代网络基础设施中的关键组成部分,对于保障大规模网站和应用的高性能、高可用性具有不可替代的作用。随着技术的不断进步,负载均衡方案将更加完善,为用户提供更优质的网络体验。