地点:北京京仪大酒店
主题:后端技术架构设计与优化
备注:第19期阿里技术沙龙
链接:http://club.alibabatech.org/salon_detail.htm?salonId=39
(一)《天猫后端技术架构优化实践》(关键词:优化)
1、优化概述:
(1)明确优化的度量指标:QPS、RT(Response Time)
2、缓存条件:
(1)读比写多得多;
(2)查询条件足够简单,不能在查询上就耗费太多时间;
(3)本地缓存失效问题:服务器主动推送新的缓存到前端的本地缓存,一个一个地更新。
3、常用策略:
(1)动静分离:业务逻辑上和服务器都进行分离;
(2)模型松耦合---大缓存:查询和缓存时进行打包(把相关的内容一起缓存,就不用进行二次查询了);
(3)并发:降低RT;
(4)异步:降低上下文切换开销;
(5)timeout:控制服务,防止主站被某个服务拖挂掉;
流控:前端对流量进行控制。
(6)客户端容灾:非核心业务不能影响核心业务;即使核心业务没出来,客户端也不能影响用户的基本浏览需求。
4、问题及讨论:如何为双十一作准备,如何提升系统的抗压能力?
双十一前会梳理系统业务的核心链路,评估各个节点。
分层控制:
(1)Web层:超过阈值的流量直接由Nginx拦掉;
(2)业务代码层:限流控制;
(3)服务中间件:timeout、流控等。
(二) 《人人网网站架构变迁》(关键词:服务化)
1、业务特点:异构、分散、易变动、相关联;
2、移动客户端:
(1)尽量保持一个socket;
(2)网络通信很烂的情况下如何保持数据/业务的一致性(有可能数据在传输过程中网络突然断掉):类似svn的版本控制,采用数字进行标识。
3、问题及讨论:
(1)单个socket如何提供多个服务?
thrift原生支持(协议层支持),协议头中用ID进行服务标识,而不用端口进行标识(共用一个端口)。
(2)thrift相关讨论
A、在生产环境下进行测试,thrift的对象封装与解封装、压缩与解压缩,甚至比Java原生的序列化更快;
B、thrift由于是跨语言的,所以在人人网的框架中增加对异常的处理(有的语言如C/C++对异常支持不友好),异常一般情况下都返回NULL对象;
C、ICE与thrift并无高下之分,选择由ICE向thrift迁移,是因为thrift足够简单,而ICE功能太强(如集群管理等)、太重了,有些功能也用不到。节点管理等运维方面比较困难,而且在上面增加功能和进行改进比较困难。目前人人网仍有1/3的服务在使用ICE。
(三)《新浪微博稳定性经验》(关键词:稳定)
1、Design for Failure
(1)分层隔离
A、主要接入方隔离。如weibo.com、weibo.cn、api.weibo.com,从DNS上隔离;
B、业务逻辑隔离。不同的业务方拆分;
C、按功能的核心度隔离。核心功能使用一个线程池,非核心功能使用一个线程池;
2、SLA保证
3、容灾预案
(1)降级(降级有问题的资源、保护核心功能)。非核心功能有不同的等级,降级之后,在超时时间、控制策略上都对应着发生改变。
(2)在线容灾演练---TouchStone系统。采用tcpcopy将线上流量拷贝过去.进行分析。
相关推荐
总的来说,这个JAVA后端技术文档模板提供了一个全面的框架,涵盖了从需求分析到接口设计的所有关键方面,帮助开发团队以高效且一致的方式进行协作。通过遵循此模板,可以确保项目文档的完整性和一致性,从而提高开发...
这份"Java后端技术栈笔记"涵盖了多个重要主题,包括Redis、Spring Cloud、Bug处理、Spring框架系列、Java语言基础、面试技巧、Spring Boot、集成开发环境IntelliJ IDEA、系统架构以及SQL数据库操作。以下是对这些...
标题中的“一个后端技术栈分享平台”表明这是一个专注于后端开发的学习资源集合,而“主要收集后端相关的技术文档、读书笔记、专题学习等”则揭示了这个平台包含的内容类型,涵盖了技术文档、个人阅读心得以及系统化...
根据给定的信息,本文将详细解析“后端考公设计的资料笔记记录”中的关键知识点,特别是关于“判断推理”部分的内容。 ### 后端考公设计中的判断推理概述 在准备公务员考试的过程中,判断推理作为一门重要的科目,...
大型分布式网站架构设计与实践+笔记.zip 1.Cache缓存 2.持久化存储 3.消息系统MQ 4.垂直化搜索引擎 5.其他基础设施
在学习笔记中,我们将会了解到系统架构的概念、架构师的定义、职责以及所需的技术与管理素质。此外,还包括与系统架构师相关的其他团队角色的协调工作,以及系统架构师个人知识结构和成长路径。另外,本笔记还涵盖了...
本篇文章将深入探讨“java后端学习笔记”中的关键知识点,包括消息队列(Message Queuing)服务如ActiveMQ和RabbitMQ、工作流引擎Activity、容器化技术Docker、分布式服务框架Dubbo、网络库Netty、RPC(Remote ...
【系统架构设计师】是IT行业中一个关键的角色,其主要...总的来说,系统架构设计师的学习笔记涵盖了系统设计的关键概念和技术,以及计算机网络和操作系统的基础知识,是准备软考系统架构设计师这一资格认证的宝贵资料。
0063_极智AI_解读Tengine opencl后端新增算子的方法-个人笔记
《软件考试系统架构设计师学习笔记(整理版)》是一份详尽的...通过这份《软件考试系统架构设计师学习笔记(整理版)》,学习者可以系统地了解和掌握系统架构设计的理论与实践,为通过考试和提升自身技能打下坚实基础。
小程序源码 笔记本后端 (代码源)小程序源码 笔记本后端 (代码源)小程序源码 笔记本后端 (代码源)小程序源码 笔记本后端 (代码源)小程序源码 笔记本后端 (代码源)小程序源码 笔记本后端 (代码源)小程序源码 笔记本...
李智慧老师的大型网站技术架构的读书笔记
读书笔记:练手工程搭建高可用后端架构
后端架构通常指的是服务器端的软件设计和组织方式,它负责处理前端请求,执行业务逻辑,并与数据库或其他后端服务进行通信。后端架构的选型涉及到多个方面,包括但不限于服务器、数据库、缓存、消息队列、中间件以及...
这一过程是数字后端流程的关键组成部分,对于实现高性能、低功耗的芯片设计至关重要。 #### 二、DC综合流程详解 1. **项目准备** - 在项目子目录下创建`DC`文件夹。 - 在`DC`文件夹下创建`db`, `lib_syn`, `log`...
【标题】"毕业设计笔记系统后端.zip" 涉及到的是一个针对学生或教育领域的后端开发项目,主要用于支持毕业设计或课程设计过程中的笔记管理。在这样的系统中,用户可以创建、编辑、存储和共享他们的学习笔记,便于...
Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip ...
在本篇内容中,我们将深入探讨一个名为“写笔记带后端”的项目,这是一个集成了前端微信小程序与后端服务的完整解决方案,适用于课程设计、毕业设计或自我学习。通过分析这个项目,我们可以掌握小程序的开发流程、...