当前位置: 首页 > news >正文

什么是应用交付控制器(ADC)

什么是应用交付控制器(ADC)

应用交付控制器(ADC)是一种网络设备,可帮助管理和优化面向最终用户的基于web的应用程序和服务的交付,根据服务器可用性、网络拥塞和用户位置等因素,将传入的web流量引导到最有效的服务器或资源上。

应用交付控制器(ADC)管理和监控客户端和 Web 服务器之间的请求和响应,ADC可以充当反向代理,它接收客户端请求,对其进行解密,并在验证其有效性后将其传递给服务器。服务器将响应发回给ADC,ADC对响应进行加密并将其转发给客户端。

为什么应用交付控制器(ADC)很重要

ADC 通过负载均衡、缓存和压缩技术优化应用程序交付并提高性能。它们确保应用程序高效地交付给用户,从而缩短响应时间并提高生产力。

早期基于硬件的ADC的主要功能是负载均衡,但随着时间的进步和网络架构的发展,ADC也随之发展,增加了安全性,优化了最终用户性能,应用加速和服务器可靠性。如今,ADC 可以是硬件、软件,甚至是虚拟设备。

应用交付控制器(ADC)如何工作

应用交付控制器(ADC)通过路由流量并执行各种功能(如负载均衡、SSL 卸载、内容缓存和安全性)在服务器和客户端之间分配和管理应用程序流量。

当用户请求应用程序时,客户端会向ADC发送请求以实现负载均衡,ADC分析请求,并根据所使用的负载均衡算法确定处理该请求的最佳服务器,这可确保应用程序流量在所有可用服务器上均匀分布。

然后,它会终止 SSL 连接(如果启用)并解密流量,然后使用自己的 SSL 证书重新加密流量,以增强安全性和加密,ADC可以缓存经常请求的内容,并直接从缓存中提供内容,而无需访问应用服务器。

在这里插入图片描述

应用交付控制器(ADC)的功能是什么

应用交付控制器(ADC)的主要功能包括负载均衡、SSL 卸载、流量整形、内容缓存和应用程序安全。通过在多个服务器之间分配流量,ADC 可以提高应用程序性能、提高可用性并增强安全性。此外,ADC 可以检测和缓解分布式拒绝服务(DDoS)攻击,防范 Web 应用程序漏洞,并提供高级分析和监控功能,帮助管理员优化应用程序交付。

ADC通常放置在防火墙和应用程序服务器之间,以提供额外的安全层,ADC通过集成和利用各种协议(如 HTTPS、HTTP、DNS、UDP 和 TCP)来发挥作用。

旧的ADC主要充当服务器的负载平衡器,负责流量和应用程序部署,如果服务器上的任何应用程序甚至服务器本身发生故障,ADC会将服务器的流量重定向到另一台服务器,从而防止停机。

现在,ADC已经发展到不仅仅是负载均衡,它提供 SSL 卸载、云支持、增强可见性、应用程序分析、TCP 优化、Web 应用防火墙和应用程序性能增强等。

应用交付控制器(ADC)使用以下方法来提高性能:

  • 服务器负载均衡
  • 服务器运行状况监控
  • 缓存和压缩
  • 卸载 SSL 处理
  • 提高安全性

服务器负载均衡

当服务器受到多个、不断的请求时,其性能会受到负面影响,应用交付控制器(ADC)提供负载均衡功能,通过分散请求来减轻该服务器的压力。负载均衡器在多个服务器之间分配传入的请求,以便单个服务器不会因流量而过载。轮询是最简单的算法,因为它只是将请求转发到下一个排队的服务器,复杂的算法需要考虑服务器容量、请求的数据类型和数据大小等因素。

ADC 控制器在第 3、4 和 7 层工作,以实现负载均衡,第 3 层和第 4 层的负载均衡相对简单,因为进入的流量将根据子网、端口号、协议、DNS 名称和 IP 地址进行分配。第 7 层的负载均衡可能有点复杂,因为在分配流量时需要考虑 URL、请求类型、HTTP 标头和其他因素。ADC软件还将读取HTTP标头和数据,以确定应将请求重定向到哪个服务器。

服务器运行状况监控

应用交付控制器(ADC)配备了一个简单的 ping 工具来检查服务器的可用性,因为将流量重定向到已经过载的服务器是毫无意义的,ADC不断对服务器执行ping操作,并监控它们是否有任何异常迹象。如果轮询失败,该服务器将被视为不可用,并且在该服务器再次可用之前,不会将任何流量重定向到该服务器。

缓存和压缩

应用交付控制器(ADC)通过在本地存储数据来提高服务器速度和性能,这样每次收到请求时,都不必从后端服务器获取数据,这就是所谓的缓存。它显着减少了服务器上的负载并最大限度地减少了交付时间。当客户端请求大文件(如图像、音乐或视频文件)时,此 ADC 服务可以在将内容发送到客户端之前对其进行压缩,从而缩短交付时间。

卸载 SSL 处理

SSL 协议通过对 HTTP 流量和请求进行加密来保护它们。但是,Web 服务器会浪费计算资源来解密和加密 SSL 通信,相反,应该使用 SSL 卸载器,因为它通过在解密数据后转发流量来减少服务器的计算负载。SSL卸载可以通过使用专用服务器解密流量或使用ADC代替来完成。

提高安全性

应用交付控制器(ADC)平台使用防火墙负载均衡、入侵检测和预防以及 Web 应用防火墙等安全方法。ADC 旨在成为抵御 DDoS 攻击流量的第一道防线,ADC 的 DNS 应用防火墙可防止针对 DNS 服务器的攻击,ADC 的 Web 应用防火墙可阻止跨站点脚本,并确保敏感数据的隐私性。

如何提高网络中应用交付控制器(ADC)的性能

OpManager是一种网络监控和管理工具,可以监控和管理各种设备,拥有多个设备模板和供应商模板,可以通过其广泛的功能来提高网络中应用交付控制器(ADC)的性能,包括:

  • 服务器性能监控: 通过服务器性能监控,跟踪服务器的运行状况、可用性、流量等,借助多个指标,管理员可以监控服务器的每项活动并进行必要的调整,从而使 ADC 能够完美运行。
  • 服务和过程监控:ADC的负载均衡利用第3层、第4层和第7层,第 7 层负载均衡器使用 TCP 发送和接收传输。通过服务监控,不仅可以监控使用TCP的服务的可用性,还可以监控使用HTTP, UDP, DNS等服务的可用性,还使用SNMP、WMI和CLI协议来监控设备上的进程。
  • 可用性监控:网络基础设施中的ADC不断地搜索网络服务器,以确保其运行状况和可用性,因为重定向到负担过重的服务器是行不通的。通过可用性监控,管理员可以轻松确定服务器的可用性,从而使ADC能够顺利重定向网络流量。
  • 广域网监控: 通过WAN监控,可以获取有关连接丢失、往返时间、超时和WAN平均有效载荷的实时数据。利用这些数据,可以主动监控 WAN,查明错误的来源,并在它们影响整个网络之前解决它们。这样一来,ADC就可以在不发生网络故障的情况下工作。

相关文章:

什么是应用交付控制器(ADC)

什么是应用交付控制器(ADC) 应用交付控制器(ADC)是一种网络设备,可帮助管理和优化面向最终用户的基于web的应用程序和服务的交付,根据服务器可用性、网络拥塞和用户位置等因素,将传入的web流量…...

旅游管理系统

TOC springboot0748旅游管理系统 第1章 绪论 1.1课题背景 计算机的普及和互联网时代的到来使信息的发布和传播更加方便快捷。用户可以通过计算机上的浏览器访问多个应用系统,从中获取一些可以满足用户需求的管理系统。网站系统有时更像是一个大型“展示平台”&a…...

AVI-Talking——能通过语音生成很自然的 3D 说话面孔

概述 论文地址:https://arxiv.org/pdf/2402.16124v1.pdf 逼真的人脸三维动画在娱乐业中至关重要,包括数字人物动画、电影视觉配音和虚拟化身的创建。以往的研究曾试图建立动态头部姿势与音频节奏之间的关联模型,或使用情感标签或视频剪辑作…...

走进虚拟机逃逸技术之VMware Escape漏洞CVE-2023-20872复现

走进虚拟机逃逸技术之VMware Escape漏洞CVE-2023-20872复现 技术分享 技术分享 起初,为了学习虚拟机逃逸相关技术,也为了搞懂硬件虚拟化。于是请教了某巨佬后告诉我一本书,看完之后为了验证我理解到的硬件虚拟化及虚拟化逃逸原理是否正确&am…...

leetcode118. 杨辉三角,老题又做

leetcode118. 杨辉三角 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示例 2: 输入: numRows 1…...

进程(一)(22)

1.进程是什么 进程是程序执行的过程,会去分配内存资源,cpu的调度。正在运行的程序叫进程。 并发:同一时刻可以同时完成多个任务。 进程: 是操作系统对正在运行的程序的抽象。进程不仅包括程序的代码,还包括程序的执行状态、内存…...

Excel“取消工作表保护”忘记密码并恢复原始密码

文章目录 1.前言2.破解步骤3. 最终效果4.参考文献 1.前言 有时候别人发来的Excel中有些表格不能编辑,提示如下,但是又不知道原始密码 2.破解步骤 1、打开您需要破解保护密码的Excel文件; 2、依次点击菜单栏上的视图—宏----录制宏&#xf…...

WPS关闭后,进程依然在后台运行的解决办法

问题 wps启动后 在启动wps后,什么都不做,打开进程管理器,发现居然运行了3个wps进程: win10只会显示wps进程: win11显示比较准确: 关闭后 在关闭wps,再去任务管理器查看,发现在…...

SQL每日一练-0816

今日SQL题:计算每个项目的年度收入增长率 难度系数:🌟☆☆☆☆☆☆☆☆☆ 1、题目要求 计算每个项目每年的收入总额,并计算项目收入环比增长率。找出每年收入增长率最高的项目。输出结果显示年份、项目ID、项目名称、项…...

直方图均衡化

概念 直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法,通过拉伸像素强度分布范围来增强图像对比度。 原理 均衡化指的是把一个分布 (给定的直方图) 映射 到另一个分布 (一个更宽更统一的强度值分布),从而令强度值分布会在整个范围内…...

Golang | Leetcode Golang题解之第342题4的幂

题目: 题解: func isPowerOfFour(n int) bool {return n > 0 && n&(n-1) 0 && n%3 1 }...

数学建模学习(116):全面解析梯度下降算法及其在机器学习中的应用与优化

文章目录 1.梯度下降简介1.1 梯度下降的数学原理1.2 学习率的选择2 梯度下降变体3.梯度下降优化器3.1 动量法(Momentum)3.2 AdaGrad3.3 RMSprop3.4 Adam3.5 Python 使用不同优化器训练线性回归模型4.案例:使用梯度下降优化加利福尼亚房价预测模型4.1. 数据准备4.2. 模型训练…...

[mysql][sql]mysql查询表大小

select table_schema as 数据库, table_name as 表名, table_rows as 记录数, truncate(data_length/1024/1024, 2) as 数据容量(MB), truncate(index_length/1024/1024, 2) as 索引容量(MB) from information_schema.tables where 11 and table_schemadb001 order by table_ro…...

8.16 mysql主从数据库(5.7版本)与python的交互及mycat

mysql数据库基本操作: [rootm ~]# tar -xf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz 解压压缩包 [rootm ~]# ls anaconda-ks.cfg mysql-5.7.44-linux-glibc2.12-x86_64 mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz [rootm ~]# cp -r mysql-5.7.44-lin…...

项目问题 | CentOS 7停止维护导致yum失效的解决办法

目录 centos停止维护意味着yum相关源伴随失效。 报错: 解决方案:将图中四个文件替换掉/etc/yum.repos.d/目录下同名文件 资源提交在博客头部,博客结尾也提供文件源码内容 CentOS-Base.repo CentOS-SCLo-scl.repo CentOS-SCLo-scl-rh.rep…...

【Docker】Docker Compose(容器编排)

一、什么是 Docker Compose docker-compose 是 Docker 官方的开源项目,使用 python 编写,实现上调用了 Docker 服务的 API 进行容器管理及编排,其官方定义为定义和运行多个 Docker 容器的应用。 docker-compose 中有两个非常重要的概念&…...

嵌入式初学-C语言-二九

C语言编译步骤 预处理编译汇编链接 什么是预处理 预处理就是在源文件(如.c文件)编译之前,所进行的一部分预备操作,这部分操作是由预处理程序自动完成,当源文件在编译时,编译器会自动调用预处理指令的解析…...

0x03 ShowDoc 文件上传漏洞(CNVD-2020-26585)复现

参考:ShowDoc文件上传漏洞(CNVD-2020-26585)_showdoc漏洞-CSDN博客 一、fofa 搜索使用该工具的网站 网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统 "S…...

【大模型从入门到精通34】开源库框架LangChain 利用LangChain构建聊天机器人1

这里写目录标题 利用LangChain构建聊天机器人介绍介绍对话型聊天机器人构建环境环境变量和平台设置 加载文档和创建向量存储高级检索技术对话上下文和记忆纳入聊天历史会话缓冲内存 构建对话检索链环境设置与API密钥配置选择合适的语言模型版本Q&A系统设置 利用LangChain构…...

魔法糖果工厂

LYA 是一家魔法糖果工厂的新任管理员。工厂生产的魔法糖果有七种颜色,分别用字母 a、b、c、d、e、f、g 表示。这些糖果被排列在一条传送带上,准备进行包装。为了提高效率,工厂引进了一台智能包装机器人。这个机器人可以按照预设的指令序列来包…...

NVM安装管理node.js版本(简单易懂)

一、前言 1.1 简介 NVM(Node Version Manager)是 node.js 的版本管理器,用 shell 脚本切换机器中不同版本的 nodejs。 Nodejs为什么需要多个版本? 有经验的开发者可能遇到过,某个依赖包明确nodejs是某个版本&#…...

第1章-04-Chrome及Chrome Driver安装及测试

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年CSDN全站百大博主。 🏆数年电商行业从业经验,历任核心研发工程师&am…...

【Linux】SSH 隧道转发场景搭建

ssh建立隧道转发 A设备:没有公网IP地址的本地设备,如本地内网服务器(需要能通公网) B设备:有公网IP地址的服务器,可以是云服务器 C设备:终端设备,想通过公网服务器B访问到设备A 要…...

前后端部署-服务器linux中安装数据库Mysql8

一、登录Xshell7 && 开放Mysql 3306端口, Redis 6379 端口 二、手动部署MySQL数据库 1.运行以下命令,更新YUM源。 sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm 2.运行以下命令,安装My…...

如何使用jd-gui对springboot源码进行分析

背景: 最近在学习springboot的过滤器和拦截器,想了解一下过滤器和拦截器是怎么匹配URL的,在网上搜了半天都搜不到针对源码的,网上大部分内容都是说怎么配置过滤器和拦截器,怎么使用,并没有对源码进行分析的…...

原来ChatGPT是这么评价《黑神话:悟空》的啊?

《黑神话:悟空》一经上线便迅速吸引了全球的目光,成为了今日微博热搜榜上的焦点话题。作为中国首款现象级的中国3A大作,它的发布无疑引发了广泛的关注与讨论。 《黑神话:悟空》,这款3A国产游戏大作,由国内游…...

C语言第17篇

1.在C语言中,全局变量的存储类别是_________. A) static B) extern C) void D) register 提示:extern adj.外来的 register n.登记表,v.登记 提示与本题无关 2.在一个C源程序文件中,要定义一个只允许本源文件中所有函数使用的全局变…...

Springboot+vue实现webScoket

需求 因为在做的项目中,有多个网站登录同一个用户,故想在某一个页面登录或者退出的时候,对其他页面进行相同的操作 跨域,跨页面,跨项目,跨标签页,https 因为一开始不像麻烦后端,所以…...

CSS知识点详解:display+float

display:浮动 1.block:使元素呈现为块级元素,可设置宽高 display: block; 特点:使元素呈现为块级元素,即该元素会以新行开始,占据整行的宽度,即使其宽度未满。 例子: 2.inline&a…...

ant design pro v6 如何做好角色管理

先上图: 整个角色管理是如何做的吗? 首先你要处理后端,要先把角色存到用户那。 这是用户管理部分的内容: 可以看到一个用户是有多个角色的。 看到没有,存的是数组 数组的是一个 role 对象 role 对象是这样&#xf…...