Linux——高流量 高并发(访问场景) 高可用(架构要求)

news2024/9/25 11:20:15

高并发通用设计逻辑: 定位单点,拆分问题

架构调整的顺序:

  1. 动静分离

   // 没有实现动静分离

  // 静态请求 交给 nginx或者 httpd 这种对于静态资源处理效率更高的服务,动态请求 交给php-fpm 服务来处理

使用云服务提供商 (阿里云 / 华为云等属于公有云服务商)提供的CDN 服务,将静态资源部署到CDN 中托管,也可以实现动静分离

  1. 缓存技术

varnish / squid / nginx等较为知名的缓存加速软件,进一步加速网站响应速度

加入缓存之后,因为缓存服务一般将数据缓存内存中,数据处理的速度更快,因为数据缓存在内存中,所以也不需要在文件系统中定位请求资源的路径,省去与文件系统和磁盘读写的时间。

设置数据库交互缓存。redis提供数据库的读请求缓存。

  1. 队列(消息队列)    流量削峰平谷 服务解耦(微服务)  
  2. 异步处理   服务的事务处理模型
  3. 服务隔离   服务隔离后,就属于分布式部署
    1. 物理隔离  // 分离到不同的物理服务器中
    2. 逻辑隔离  // 虚拟化技术 以及容器技术(计算资源面对高并发时的处理逻辑)
  4. 水平扩展
    1. 负载均衡
    2. 集群高可用
    3. 数据库的水平扩展    
      • 读写分离    
      • 负载均衡调度
      • 数据一致性
      • 分表分库
      • 异地数据库部署方案 (根据地区部署数据库,将该地区的热点数据保存到地区中)
  5. 监控访问数据
    1. 平均响应时间
    2. QPS
    3. 慢查询日志
    4. 记录客户端分布
  6. 通过管理手段来预估可能的并发数量
    1. 临时促销活动等
    2. 弹性调度    临时资源的租用,临时活动结束后将结束租用。

基础设施高并发

目的: 提高基础硬件使用率主要是cpu 避免软件性能瓶颈

通过隔离软件运行环境实现,主要是虚拟化技术:

  1. 硬件虚拟化  vmware 等
  2. 指令集虚拟化 qemu
  3. 运行库虚拟化  docker等容器技术
    1. 容器编排平台K8S

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

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

相关文章

怎么翻译图片上的文字?6种方法教你快速翻译

现如今,图片已经成为传播信息的重要载体之一,然而,图片上的文字往往成为我们获取信息的障碍。幸运的是,随着技术的发展,多种图片文字翻译工具应运而生,让翻译变得简单快捷。很多小伙伴不清楚哪些翻译工具简…

《JavaEE进阶》----15.<Spring Boot 日志>

本篇文章将记录我学习SpringBoot日志 1.日志文件的用途 2.SpringBoot日志文件的配置 3.用lombook依赖引入Slf4j注解,从而引入log对象。方便我们打印日志。 一、日志的作用 日志主要是为了发现问题、分析问题、定位问题。除此之外、日志还有许多其他的用途。 1.系统监…

玩转西门子 S7-1200/1500 的 Modbus RTU 通信诊断

01 概述工控人加入PLC工业自动化精英社群 Modbus RTU 是一种串行通信协议,由于具有协议透明,实现成本低,简单易用等诸多特点,至今仍然广泛应用在工业控制的各个领域。 为了通信可以长期稳定的运行,并且可以在故障时可…

Vue组件:依赖注入provide和inject的使用

1、Prop 逐级透传问题 通常情况下,当我们需要从父组件向子组件传递数据时,会使用 props。想象一下这样的结构:有一些多层级嵌套的组件,形成了一棵巨大的组件树,而某个深层的子组件需要一个较远的祖先组件中的部分数据…

智慧水务建设的核心内容

智慧水务解决方案的主要对象客户是全国各地水务投资集团、水务局、水司、水厂、农水办,也会有少量项目涉及到住建局或城管局。解决方案通常会以具体的某个业务单位的职能工作为切入点,配合物联感知、大数据分析、人工智能等技术手段,为城市供水、乡村供水的水质安全、供水调…

一文彻底了解DNS协议工作原理,恐怕没有比这更通俗易懂的了吧?

了解DNS工作原理有助于深入理解互联网通信的基础机制,对于网络运维、开发以及优化网站访问速度至关重要。它能帮助解决域名解析问题,提升用户体验,同时对于网络安全和防护也具有重要意义。本文博主反反复复、前前后后斟酌了三天,就…

【学习笔记】手写Tomcat 二

目录 响应静态资源 HTTP协议请求格式 1. 解析请求信息 创建解析请求类 HttpRequest 2. 创建静态资源目录 webs 3. 封装响应信息 创建静态资源处理器 StaticResourceHandler 创建响应类 HttpResponse 作业 1. 绘制 请求解析类 HttpRequest 和响应类 HttpResponse 的封…

动手学深度学习(pytorch土堆)-03常见的Transforms

Compose transforms.Compose 是 PyTorch 中的一个函数,用于将多个图像变换操作组合在一起,形成一个变换流水线。这样可以将一系列的图像处理操作整合为一个步骤,便于对图像进行批量预处理或增强。 基本用法 transforms.Compose 接受一个列表…

vue + Lodop 制作可视化设计页面 实现打印设计功能(四)

历史: vue2 Lodop 制作可视化设计页面 实现打印设计功能(一) vue Lodop 制作可视化设计页面 实现打印设计功能(二) vue Lodop 制作可视化设计页面 实现打印设计功能(三) 前言&#xff1a…

必看!实网环境下,合宙Cat.1模组低功耗详细数据

一、背景说明 合宙4G Cat.1模组以低功耗为显著特点,提供了三种功耗模式以适应不同需求。 分别是:常规模式,低功耗模式,PSM模式。 在实际应用中,用户可以根据不同的应用场景和需求,灵活选择合宙4G Cat.1模…

数据结构与算法图论 并查集

前言 写一道并查集的题 判断是否为亲戚 原题目:现在有若干家族图谱关系,给出了一些亲戚关系,如Marrv和Tom是亲戚,Tom和Ben是亲戚等等。从这些信息中,你可以推导出Marry和Ben是亲戚。请写一个程序,对于我…

一文读懂在线学习凸优化技术

一文读懂在线学习凸优化技术 在当今的数据驱动时代,机器学习算法已成为解决复杂问题的关键工具。在线学习凸优化作为机器学习中的一项核心技术,不仅在理论研究上具有重要意义,还在实际应用中展现出巨大的潜力。本文将深入浅出地介绍在线学习…

C++(三)----内存管理

1.C/C内存分布 看下面这个问题(考考你们之前学的咋样): int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] {1, 2, 3, 4};char char2[] "abcd";char* pCh…

【leetcode C++】 动态规划

4. 91 解码方法 题目: 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : "1" -> A "2" -> B ... "25" -> Y "26" -> Z 然而,在 解码 已编码的消息时,你意识到有许多不同的…

数据湖-方案对比

数据湖架构结合了数据湖和数据仓库。虽然它不仅仅是两者之间的简单集成,但其理念是充分发挥两种架构的优势:数据仓库的可靠交易以及数据湖的可扩展性和低成本。 Lakehouse 架构支持管理各种数据类型,例如结构化、半结构化和非结构化数据&…

巧用工具,Vue 集成 medium-zoom 实现图片缩放

文章目录 巧用工具,Vue 集成 medium-zoom 实现图片缩放介绍medium-zoomVue3集成 medium-zoom 示例Vue2集成 medium-zoom 示例进阶 - 可选参数 巧用工具,Vue 集成 medium-zoom 实现图片缩放 在现代网页开发中,为用户提供良好的视觉体验至关重…

爬虫逆向学习(六):补环境过某数四代

声明:本篇文章内容是整理并分享在学习网上各位大佬的优秀知识后的实战与踩坑记录 引用博客: https://blog.csdn.net/shayuchaor/article/details/103629294 https://blog.csdn.net/qq_36291294/article/details/127699273 https://blog.csdn.net/weixin_…

vivo手机已删除的短信还能恢复吗?

虽然现在我们很少使用vivo手机的短信功能,但是我们偶尔还会通过vivo手机短信功能接收一些重要的信息。如果我们在清理垃圾短信的时候误删了vivo手机重要短信,该怎么恢复呢? 方法一:通过vivo云服务恢复 1、确保您已开启vivo云服务…

Go常用正则函数整理

前言 在Go语言中,标准库regexp提供了丰富的API来处理正则表达式,支持编译、匹配、查找、替换等操作。以下是一个Go标准库正则函数的常用大全教程及部分使用示例。 Go标准库常用正则函数 Compile:编译正则表达式,返回一个可用于…

Qt 构建报错 undefined reference to xxx

初次学习使用Qt,在构建时报错。这是个典型报错,熟练vs与c的朋友一眼就可以看出要么是库出问题了,要么是库链接出问题了。那么就可以按照相对明确的方向找问题。 1、确认库与项目配置是否一致。32位还是64位,debug还是release一定…