高性能高负载解决思路

高性能高负载(N高)具体含义:

  1. 请求处理:高并发-时间响应快,实时;高并行-IO吞吐量大,延迟
  2. 数据CAP:  高一致,高可用,高伸缩

解决方案:

1, 代码与SQL优化

2, 代码压缩(节约带宽流量)

3, 设计:

     3.1高内聚(职责单一)低耦合(复用)

     3.2门面模式粗粒度接口(减少频繁通信交互带来延迟响应及CPU性能消耗(如正逆向序列化,安全认证,组合与解析))

     3.3应用拆分(化繁为简,各个击破,分而治之)

     3.4微内核架构,扁平化设计,热插播技术(伸缩性)

4, 最前端请求代理(squid)

5, 内容分发CDN

6, 固定资源静态化(页面整体框架,静态html页面,样式,脚本,图片,视频,音频等文件)

7, 静态资源与应用逻辑分离(页面整体框架,静态html页面,样式,脚本,图片,视频,音频等文件)

8, 资源本地化(html,脚本,图片,样式等 保存在客户端,减少多次资源传输,节省带宽)

9, 客户端按需索取数据(ajax)

         9.1发布&订阅

         9.2服务器数据主动推送

         9.3轮询

         9.4推拉模式(客户端拉服务器推)

10, 服务端队列机制

11, 服务端线程安全(ThreadLocal)

12, 服务端方法参数传递数据方式(map)

13, 减少不必要的运算与全局变量

14, 长事务短时提交

15, 分布式事务处理采用集中监控及任务调度

16, 多线程与线程池技术 ThreadLocal 回调接口通讯

17, 数据库连接池技术

18, 多级缓存(页面、应用、数据库、分布式缓存)

19, 集群技术(Web集群、缓存集群、应用集群、数据库集群、分布式资源集群)

20, 数据库主从(读写)分离(一主多从,多主多从)

21, 同步锁(代码级别 数据库级别)

22, 索引(文件索引、数据库表字段查询条件及分组条件索引及排序索引)、聚族索引、聚族列(字段扩展)、保留字段

23, 维度视图,存储过程(避免直接操作表,事务控制)

24, 非关系型数据库(海量数据,非关系型数据,分布式存储)

25, 容灾备份(两地三中心,同城弱连接备份[增量],异地冷备份[全量])

26, Web负载均衡(apachehttp,nginx) 应对高并发

27, 分流(按地域路由访问)

28, Web主机多机热备(防止单点故障)

29, 底层通信RPC(减少高层协议开销)

30, 数据库表拆分(纵向业务功能模块,横向数据策略(映射索引策略))

31, 表空间分区(提高IO吞吐力)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/146279.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

CSP-J第二轮试题-2021年-1.2题

文章目录 参考:总结 [CSP-J 2021] 分糖果题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 样例 #3样例输入 #3样例输出 #3 提示答案1答案2-优化 [CSP-J 2021] 插入排序题目描述输入格式输出格式样例 #1样例输入 #1样…

为什么字节大量用GO而不是Java?

见字如面,我是军哥。 我看很多程序员对字节编程语言选型很好奇,为此我还特地问了在字节的两位4-1的技术大佬朋友,然后加上自己的思考,总结了一下就以下 2 个原因: 1、 选型上没有历史包袱 字节的早期的程序员大多来自于…

Linux常见操作命令(1)

​ 前言:作者也是初学Linux,可能总结的还不是很到位 ♈️今日夜电波:达尔文—林俊杰 0:30━━━━━━️💟──────── 4:06 🔄 ◀️ …

Interactive-slam imGui slam3dTool防坑手册

问题一、 glfw error 65544: X11: RandR gamma ramp support seems broken error : failed to compile shader /home/ros_proj/catkin_ws/src/interactive_slam/data/shader/rainbow.vert 0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1…

快看看你的手机有没有:谷歌Android全面封杀此类软件!

谷歌坐不住了,因为Android应用商店中,充斥着大量可窃取用户数据的应用,所以必然要出手整治了。 一款名叫“SonicSpy”软件是整个事情的导火索,而该应用是典型的窃取用户数据的应用,其除了可以从手机中提取个人数据外&…

cesium gltf控制

gltf格式详解 glTF格式本质上是一个JSON文件。这一文件描述了整个3D场景的内容。它包含了对场景结构进行描述的场景图。场景中的3D对象通过场景结点引用网格进行定义。材质定义了3D对象的外观,动画定义了3D对象的变换操作(比如选择、平移操作)。蒙皮定义了3D对象如何进行骨骼…

使用华为eNSP组网试验⑵-通过端口地址进行静态路由

有了网络模拟器可以对很多网络应用场景进行模拟,既方便学习又有利于实际的网络实施。 之前因为没有用过,用过了才知道eNSP的好处。但是与思科模拟器不同,连接是自动连接,不能确定端口,比如使用指定的光纤端口或者RJ45的…

【Redis】redis基本数据类型详解(String、List、Hash、Set、ZSet)

目录 RedisString(字符串)List(列表)Hash(字典)Set(集合)ZSet(有序集合) Redis Redis有5种基本的数据结构,分别为:string(字符串)、list(列表)、set(集合)、hash(哈希&a…

Fiddler抓取手机https包的步骤

做接口测试时,有时我们需要使用fiddler进行抓包分析,那么如何抓取https包。主要分为以下七步: 1.设置fiddler选项:Tools->Options,按如下图勾选 2.下载并安装Fiddler证书生成器 下载地址:http://www.telerik.com/…

python使用mitmproxy和mitmdump抓包在电脑上抓包(二)

在我的上篇文章中,主要记录如何安装mitmproxy和抓取https流量。参考链接: python使用mitmproxy和mitmdump抓包在电脑上抓包-CSDN博客 本篇主要使用python配合mitmdump来抓包和处理返回包,更加灵活,这也是mitmproxy(mitmdump)的最…

熔断、限流、降级 —— SpringCloud Alibaba Sentinel

Sentinel 简介 Sentinel 是阿里中间件团队开源的,面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性 Sentinel 提供了两个服务组件…

opencv实现目标跟踪及视频转存

创建跟踪器 def createTypeTracker(trackerType): 读取视频第一帧,选择跟踪的目标 读第一帧。 ok, frame video.read() 选择边界框 bbox cv2.selectROI(frame, False) 初始化跟踪器 tracker_type ‘MIL’ tracker createTypeTracker(tracker_type) 用第一…

手机电脑数码小程序商城的作用是什么

手机几乎是每个成年人人手一个以上,市场非常大,加之产品更新迭代速度快,每年都会推出多个型号、造型等,因此对高收入群体或爱机人群来说,新手机往往一年或二年时间就会换,或者直接购买当备用机等。 每个城…

Acwing 143. 最大异或对

Acwing 143. 最大异或对 题目描述思路讲解代码展示 题目描述 思路讲解 这道题的启示是&#xff1a;字典树不单单可以高效存储和查找字符串集合,还可以存储二进制数字 思路:将每个数以二进制方式存入字典树,找的时候从最高位去找有无该位的异. 代码展示 #include<iostream…

华为云云耀云服务器L实例评测 | 实例场景体验之搭建个人博客:通过华为云云耀云服务器构建个人博客

华为云云耀云服务器L实例评测 &#xff5c; 实例场景体验之搭建个人博客&#xff1a;通过华为云云耀云服务器构建个人博客 介绍华为云云耀云服务器 华为云云耀云服务器 &#xff08;目前已经全新升级为 华为云云耀云服务器L实例&#xff09; 华为云云耀云服务器是什么华为云云耀…

【调度算法】进程调度算法、内存页面置换算法、LRU算法、LFU算法、磁盘调度算法等重点知识汇总

目录 进程调度算法 内存页面置换算法 LRU算法实现 LFU算法实现 磁盘调度算法 进程调度算法 当 CPU 空闲时&#xff0c;操作系统就选择内存中的某个「就绪状态」的进程&#xff0c;并给其分配 CPU。 什么时候会发生 CPU 调度呢&#xff1f;通常有以下情况&#xff1a; 当…

CSS详细基础(五)选择器的优先级

本节介绍选择器优先级&#xff0c;优先级决定了元素最终展示的样式~ 浏览器是通过判断CSS优先级&#xff0c;来决定到底哪些属性值是与元素最为相关的&#xff0c;从而作用到该元素上。CSS选择器的合理组成规则决定了优先级&#xff0c;我们也常常用选择器优先级来合理控制元素…

Leetcode---364场周赛

题目列表 2864. 最大二进制奇数 2865. 美丽塔 I 2866. 美丽塔 II 2867. 统计树中的合法路径数目 一、最大二进制奇数 这题只要你对二进制有了解(学编程的不会不了解二进制吧)&#xff0c;应该问题不大&#xff0c;这题要求最大奇数&#xff0c;1.奇数&#xff1a;只要保证…

【Java 进阶篇】MySQL 事务详解

在数据库管理中&#xff0c;事务是一组SQL语句的执行单元&#xff0c;它们被视为一个整体。事务的主要目标是保持数据库的一致性和完整性&#xff0c;即要么所有SQL语句都成功执行&#xff0c;要么所有SQL语句都不执行。在MySQL中&#xff0c;事务起到了非常重要的作用&#xf…

蜂蜜配送销售商城小程序的作用是什么

蜂蜜是农产品中重要的一个类目&#xff0c;其受众之广市场需求量大&#xff0c;但由于非人人必需品&#xff0c;因此传统线下门店经营也面临着痛点&#xff0c;线上入驻平台也有很多限制难以打造自有品牌&#xff0c;无法管理销售商品及会员、营销等&#xff0c;缺少自营渠道&a…