当前位置: 首页 > 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 表示。这些糖果被排列在一条传送带上,准备进行包装。为了提高效率,工厂引进了一台智能包装机器人。这个机器人可以按照预设的指令序列来包…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展&#xff0c;其高效、便捷、协议开放、易于冗余等诸多优点&#xff0c;被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口&#xff0c;具有实时性、开放性&#xff0c;使用TCP/IP和IT标准&#xff0c;符合基于工业以太网的…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天&#xff0c;深度学习与大模型技术已成为推动行业变革的核心驱动力&#xff0c;而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心&#xff0c;系统性地呈现了两部深度技术著作的精华&#xff1a;…...