`

《后端技术架构设计与优化》讲座笔记

阅读更多

时间:2013-08-31

地点:北京京仪大酒店

主题:后端技术架构设计与优化

备注:第19期阿里技术沙龙

链接:http://club.alibabatech.org/salon_detail.htm?salonId=39

(一)《天猫后端技术架构优化实践》(关键词:优化)

1、优化概述:

  1)明确优化的度量指标:QPSRT(Response Time)

2、缓存条件:

  1)读比写多得多;

  2)查询条件足够简单,不能在查询上就耗费太多时间;

  3)本地缓存失效问题:服务器主动推送新的缓存到前端的本地缓存,一个一个地更新。

3、常用策略:

  1)动静分离:业务逻辑上和服务器都进行分离;

  2)模型松耦合---大缓存:查询和缓存时进行打包(把相关的内容一起缓存,就不用进行二次查询了);

  3)并发:降低RT

  4)异步:降低上下文切换开销;

  5timeout:控制服务,防止主站被某个服务拖挂掉;

       流控:前端对流量进行控制。

  6)客户端容灾:非核心业务不能影响核心业务;即使核心业务没出来,客户端也不能影响用户的基本浏览需求。

4、问题及讨论:如何为双十一作准备,如何提升系统的抗压能力?

双十一前会梳理系统业务的核心链路,评估各个节点。

分层控制:

1Web层:超过阈值的流量直接由Nginx拦掉;

2)业务代码层:限流控制;

3)服务中间件:timeout、流控等。

 

(二) 《人人网网站架构变迁》(关键词:服务化)

1、业务特点:异构、分散、易变动、相关联;

2、移动客户端:

  1)尽量保持一个socket

  2)网络通信很烂的情况下如何保持数据/业务的一致性(有可能数据在传输过程中网络突然断掉):类似svn的版本控制,采用数字进行标识。

3、问题及讨论:

1)单个socket如何提供多个服务?

 thrift原生支持(协议层支持),协议头中用ID进行服务标识,而不用端口进行标识(共用一个端口)。

2thrift相关讨论

A、在生产环境下进行测试,thrift的对象封装与解封装、压缩与解压缩,甚至比Java原生的序列化更快;

Bthrift由于是跨语言的,所以在人人网的框架中增加对异常的处理(有的语言如C/C++对异常支持不友好),异常一般情况下都返回NULL对象;

CICEthrift并无高下之分,选择由ICEthrift迁移,是因为thrift足够简单,而ICE功能太强(如集群管理等)、太重了,有些功能也用不到。节点管理等运维方面比较困难,而且在上面增加功能和进行改进比较困难。目前人人网仍有1/3的服务在使用ICE

 

(三)《新浪微博稳定性经验》(关键词:稳定)

1Design for Failure

(1)分层隔离

A、主要接入方隔离。如weibo.comweibo.cnapi.weibo.com,从DNS上隔离;

B、业务逻辑隔离。不同的业务方拆分;

C、按功能的核心度隔离。核心功能使用一个线程池,非核心功能使用一个线程池;

2SLA保证

3、容灾预案

   1)降级(降级有问题的资源、保护核心功能)。非核心功能有不同的等级,降级之后,在超时时间、控制策略上都对应着发生改变。

   2)在线容灾演练---TouchStone系统。采用tcpcopy将线上流量拷贝过去.进行分析。

分享到:
评论

相关推荐

    JAVA后端技术文档模板

    总的来说,这个JAVA后端技术文档模板提供了一个全面的框架,涵盖了从需求分析到接口设计的所有关键方面,帮助开发团队以高效且一致的方式进行协作。通过遵循此模板,可以确保项目文档的完整性和一致性,从而提高开发...

    Java后端技术栈笔记

    这份"Java后端技术栈笔记"涵盖了多个重要主题,包括Redis、Spring Cloud、Bug处理、Spring框架系列、Java语言基础、面试技巧、Spring Boot、集成开发环境IntelliJ IDEA、系统架构以及SQL数据库操作。以下是对这些...

    一个后端技术栈分享平台,主要收集后端相关的技术文档、读书笔记、专题学习等。.zip

    标题中的“一个后端技术栈分享平台”表明这是一个专注于后端开发的学习资源集合,而“主要收集后端相关的技术文档、读书笔记、专题学习等”则揭示了这个平台包含的内容类型,涵盖了技术文档、个人阅读心得以及系统化...

    后端考公设计的资料笔记记录

    根据给定的信息,本文将详细解析“后端考公设计的资料笔记记录”中的关键知识点,特别是关于“判断推理”部分的内容。 ### 后端考公设计中的判断推理概述 在准备公务员考试的过程中,判断推理作为一门重要的科目,...

    大型分布式网站架构设计与实践+笔记.zip

    大型分布式网站架构设计与实践+笔记.zip 1.Cache缓存 2.持久化存储 3.消息系统MQ 4.垂直化搜索引擎 5.其他基础设施

    软考系统架构设计师学习笔记.pdf

    在学习笔记中,我们将会了解到系统架构的概念、架构师的定义、职责以及所需的技术与管理素质。此外,还包括与系统架构师相关的其他团队角色的协调工作,以及系统架构师个人知识结构和成长路径。另外,本笔记还涵盖了...

    java后端学习笔记

    本篇文章将深入探讨“java后端学习笔记”中的关键知识点,包括消息队列(Message Queuing)服务如ActiveMQ和RabbitMQ、工作流引擎Activity、容器化技术Docker、分布式服务框架Dubbo、网络库Netty、RPC(Remote ...

    2019年软考系统架构设计师学习笔记.pdf

    【系统架构设计师】是IT行业中一个关键的角色,其主要...总的来说,系统架构设计师的学习笔记涵盖了系统设计的关键概念和技术,以及计算机网络和操作系统的基础知识,是准备软考系统架构设计师这一资格认证的宝贵资料。

    0063-极智AI-解读Tengine opencl后端新增算子的方法-个人笔记

    0063_极智AI_解读Tengine opencl后端新增算子的方法-个人笔记

    软件考试系统架构设计师学习笔记(整理版)

    《软件考试系统架构设计师学习笔记(整理版)》是一份详尽的...通过这份《软件考试系统架构设计师学习笔记(整理版)》,学习者可以系统地了解和掌握系统架构设计的理论与实践,为通过考试和提升自身技能打下坚实基础。

    小程序源码 笔记本后端 (代码源)

    小程序源码 笔记本后端 (代码源)小程序源码 笔记本后端 (代码源)小程序源码 笔记本后端 (代码源)小程序源码 笔记本后端 (代码源)小程序源码 笔记本后端 (代码源)小程序源码 笔记本后端 (代码源)小程序源码 笔记本...

    大型网站技术架构笔记

    李智慧老师的大型网站技术架构的读书笔记

    读书笔记:练手工程搭建高可用后端架构.zip

    读书笔记:练手工程搭建高可用后端架构

    后端架构选型及应用场景.md

    后端架构通常指的是服务器端的软件设计和组织方式,它负责处理前端请求,执行业务逻辑,并与数据库或其他后端服务进行通信。后端架构的选型涉及到多个方面,包括但不限于服务器、数据库、缓存、消息队列、中间件以及...

    数字后端流程一【Design Compile】实例笔记.pdf

    这一过程是数字后端流程的关键组成部分,对于实现高性能、低功耗的芯片设计至关重要。 #### 二、DC综合流程详解 1. **项目准备** - 在项目子目录下创建`DC`文件夹。 - 在`DC`文件夹下创建`db`, `lib_syn`, `log`...

    毕业设计笔记系统后端.zip

    【标题】"毕业设计笔记系统后端.zip" 涉及到的是一个针对学生或教育领域的后端开发项目,主要用于支持毕业设计或课程设计过程中的笔记管理。在这样的系统中,用户可以创建、编辑、存储和共享他们的学习笔记,便于...

    Python 笔记源码——内含python后端&机器学习等.zip

    Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip ...

    写笔记带后端.zip

    在本篇内容中,我们将深入探讨一个名为“写笔记带后端”的项目,这是一个集成了前端微信小程序与后端服务的完整解决方案,适用于课程设计、毕业设计或自我学习。通过分析这个项目,我们可以掌握小程序的开发流程、...

Global site tag (gtag.js) - Google Analytics