1.客户端请求、服务端响应的数据流向概要

2.简介

1)CDN加速缓存

CDN是一种组合技术,其中包括源站、缓存服务器、智能DNS、客户端等几个重要部分。

  • 源站
    源站指发布内容的原始站点。添加、删除和更改网站的文件,都是在源站上进行的;另外缓存服务器所抓取的对象也全部来自于源站。
  • 缓存服务器
    缓存服务器是直接提供给用户访问的站点资源,有一台或数台服务器组成;当用户发起访问时,他的访问请求被智能DNS定位到离他较近的缓存服务器。如果用户所请求的内容刚好在缓存里面,则直接把内容返还给用户;如果访问所需的内容没有被缓存,则缓存服务器向邻近的缓存服务器或直接向源站抓取内容,然后再返还给用户。
  • 智能DNS
    智能DNS是整个CDN技术的核心,它主要根据用户的来源,将其访问请求指向离用户比较近的缓存服务器,如把广州电信的用户请求指向到广州电信IDC机房中的缓存服务器。通过智能DNS解析,让用户访问同服务商下的服务器,消除国内南北网络互相访问慢的问题,达到加速作用。智能DNS的出现,颠覆了传统的一个域名对应一个镜像的做法,让用户更加便捷的去访问网站。

网站没有接入CDN时,用户浏览器与服务器是如何交互的:

用户在浏览网站的时候,浏览器能够在本地保存网站中的图片或者其他文件的副本,这样用户再次访问该网站的时候,浏览器就不用再下载全部的文件,减少了下载量意味着提高了页面加载的速度。

如果中间加上一层CDN,那么用户浏览器与服务器的交互如下:

客户端浏览器先检查是否有本地缓存是否过期,如果过期,则向CDN边缘节点发起请求,CDN边缘节点会检测用户请求数据的缓存是否过期,如果没有过期,则直接响应用户请求,此时一个完成http请求结束;如果数据已经过期,那么CDN还需要向源站发出回源请求(back to the source request),来拉取最新的数据。CDN的典型拓扑图如下:

CDN的优势很明显:

(1)CDN节点解决了跨运营商和跨地域访问的问题,访问延时大大降低;
(2)大部分请求在CDN边缘节点完成,CDN起到了分流作用,减轻了源站的负载。

2)LB负载均衡集群

首先我们先介绍一下什么是负载均衡: 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。这是来自维基百科的介绍。负载均衡的目的,就在于平衡负载,给用户提供优质,可靠,稳定的服务。

上图是个最简单的负载均衡实例, 应用服务器并不直接与用户相连, 用户连接负载均衡服务器,然后由负载均衡服务器把消息转发给实际应用服务器。负载均衡器内部会根据应用服务器的负载情况,决定把消息转发给哪台服务器处理。同时负载均衡器还可以对用户屏蔽应用服务器失效,只要把用户的消息转发到非失效服务器即可。

提到负载均衡,就不能不介绍另外一个概念: 集群。集群就是一组部署有相同应用的服务器。例如web 服 务器。用户的请求无论连接到哪台服务器上,都能得到相同的处理。这样我们实现一种服务器,可以将用户的请求根据特定规则转发到应用服务器上进行处理。就实 现了完整的集群处理系统。这个服务器如果实现了后台服务器感知和配置功能,能够了解后台服务器的可用情况。就可以被称作为负载均衡器。

负 载均衡在目前网络服务规模越来越庞大的情况下,成为一个大型服务器系统必须要面对的问题。随着用户和业务的增多,来自用户的访问量和数据流量不断增大,对 服务器的计算能力和储存要求也在不断增加,单台服务器根本无法承担这么庞大的数据处理请求。这个时候,我们必须利用集群技术,采用一组服务器对来自用户的 请求进行处理,服务器的数量要能够不断的扩充。在集群的前端,我们采用负载均衡技术,平均分散用户的请求到不同的处理服务器,并且能够在集群中某个服务失 效时,即时感知,屏蔽,将消息转发到其他可用服务器上。

负载均衡分为硬件和软件:

(1).硬件LB(比较出名的)

F5 公司的 BIG-IP系列、Citrix 公司的 NetScaler系列、A10 公司的 AX系列

(2).软件LB

四层:LVS(Linux VirtualServer)注:国人开发的、七层:Nginx,HAProxy

运维企业部分学习开篇相关推荐

  1. python和linux运维学哪个--学习Python在Linux运维上的应用应该看哪些书 什么样的学习路线...

    python 元类生成类的方法是什么类型的 首先请一下习惯,python中的类名习惯用大写字母开 我是这样理解的,不一定对,通过type() ,还是实例方法instancemethod 只不过B这个类 ...

  2. 如何自学Linux云计算运维,关于系统学习Linux云计算运维,应该怎么什么学?

    随着近年来经济的快速发展,企业对Linux人才的需求也越来越高.许多人认为,Linux是一个非常简单的行业,然而,Linux行业是一个综合了云计算.Linux运维.Linux开发.Linux编程等多方 ...

  3. 从事Linux运维工作需要学习什么技能?

    linux运维岗位越来越火热,想要从事这个行业的人也越来越多,那么你知道从事运维岗位应该学习什么技能吗?以下是详细的内容: 首先我们要知道,想要从事运维工作,Linux是一道坎,建议先把Linux好好 ...

  4. Linux运维企业架构项目实战系列

    Linux运维企业架构项目实战系列 目录 一.全网备份 (一)部署Rsync守护进程 1)服务端(backup) 2)客户端(web01/02/03 nfs01) (二)编写脚本文件 1)客户端脚本编 ...

  5. 想从事运维岗位应该学习什么技能?谁能告诉一下?

    最近看到不少小伙伴都在问,想从事运维岗位应该学习什么技能?哪些是基础呢?有大神能指点迷津吗?今天我们就大家一起来唠嗑吧! 首先我们要知道,想要从事运维工作,Linux是一道坎,建议先把Linux好好学 ...

  6. Linux运维好学还是开发好学,运维提升需要学习开发技能吗?

    运维需要学习开发技能吗?技术的发展推动了Linux的前行.学习Linux技能的人们也越来越多,时下Linux运维已成为非常热门的职业岗位之一.Linux操作系统备受各大企业和个人的青睐.在许多人看来, ...

  7. 擎创动态 | 十天拿下12项信创认证,入选2022智能运维企业TOP50榜单,这个公司到底什么来头

    随着国内金融行业信创发展进入深水区,银行.保险.证券等金融机构越来越重视IT信息系统的国产化建设.数据显示,自2018年以来,我国信创产业规模连续四年上涨,2021年中国信创产业规模达13758.8亿 ...

  8. 运维企业专题(5)LVS高可用与负载均衡中篇——VS/DR模式配置详解

    实验准备 1.下面的实验使用的是rhel6系列(rhel6.5)的虚拟机,因此你需要有对应的镜像和yum源 2.准备三台虚拟机,为了区分主机名与IP分别为 server1 172.25.6.1 ser ...

  9. 问答|数据中心运维管理VIP学习群

    今天在数据中心运维管理VIP学习群里有群友提问现在北京的数据中心是否可以申请降低基础电费?群里的张总已经回答:三个月可以申请一次调整基础容量. 数据中心一旦运行,永不停歇,所以数据中心是用电大户也被称 ...

最新文章

  1. ntp服务器源码c语言,搭建自己的NTP时间服务器
  2. Oralce 数据库 - 查询数据库所有的表和视图实例演示,查询指定用户下所有表和视图方法
  3. ubuntu 14.04 配置 java 环境
  4. 管理mysql表知识点,数据库知识点整理(全)
  5. this 改变this的指向
  6. 动画特效九:下拉刷新
  7. 众说纷“云”之云安全企业用户追踪寻访
  8. mysql 数据库备份的多种方式
  9. pmp项目变更的流程图_【PMP】变更流程图与说明
  10. 张至顺道长羽化登仙+说修行(道经每日清修)
  11. The 'mode' option has not been set, webpack will fallback to 'production' for th is value
  12. 快捷键没有响应的处理办法
  13. 子平真诠释疑笔记(六)
  14. Redis系列:Redis持久化机制与Redis事务
  15. 新手怎么做直播卖货?都有哪些卖货成交话术技巧?
  16. 骁龙865与鸿蒙900,天玑2000与骁龙865哪个好_天玑2000与骁龙865对比
  17. 36岁大数据人被中台问倒,没点架构思维,连面试都过不了?
  18. 音视频开发系列(24)使用FFmpeg添加、删除、替换和提取视频中的音频
  19. TB5 AXD 在win7 vista下 启动失败
  20. 【PTA乙级练习题】topic:1001

热门文章

  1. R语言glmnet拟合岭回归模型实战:岭回归模型的模型系数(ridge regression coefficients)及可视化、岭回归模型分类评估计算(混淆矩阵、accuracy、Deviance)
  2. python中matplotlib自定义设置图像标题使用的字体类型:获取默认的字体族及字体族中对应的字体、自定义设置图像标题使用的字体类型
  3. R语言ggplot2可视化设置数据点的大小、设置数据点的颜色、设置数据点边缘线条的厚度(point border thickness)实战
  4. R语言使用ggplot2包使用geom_density()函数绘制分组密度图(自定义调色板填充色、brewer调色板填充、灰度比例填充)实战(density plot)
  5. oracle 查询空值异常,Oracle中的NULL
  6. 分类与逻辑回归(classification and logistic regression)
  7. 复杂基因组测序技术研究进展
  8. java JDK 11.0.5的安装
  9. Assembly and diploid architecture of an individual human genome via single-molecule technologies
  10. 一种基于三代PacBio测序数据的补洞方法