Tafficserver旁路接入方案综述

2024-03-18 16:08

本文主要是介绍Tafficserver旁路接入方案综述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自 https://blog.zymlinux.net/index.php/archives/821

随着宽带技术的加速普及,目前,几款高性能开源CDN方案在广大开源爱好团队的充分的测试、企业服务应用验证中破壳而出。实际这个地球的互联网用户都在知情与不知情之间使用了ATS的环保服务。
这方面的内容可以在 APACHE的官方网站(http://trafficserver.apache.org/users.html)可以分享更多信息。
小注:不得不提一下的是,Taobao的工程师们,“仓实知礼”的开源精神,让这张用户表中出现了很多中国大小公司。这其中少不了赵永明(掌管中国ATS官方QQ群:281057393)这位中国CDN的资深使用者与开发者的贡献。进入小康社会的中国,还会有多少人参与开源软件与方案的研发与推广大军呢?从笔者的开发、服务与科研应用中,对目前Trafficserver(下简称ATS)这款开源cdn系统(笔者认为是当前所有核心可推测系统中最优选方案)接触使了很长时间。特别是随着LINUX核心3.11(直接稳定支持SSD)的发布,更助推了ATS在网络内容传输世界的动人表现。
笔者认识到ATS的几处优势:
1.cache数据库式的存储与检索
ATS支持以大数据库存储形式存储并检索cache内容。这基本上综合了目前全部CDN体系地存储检索方面的优点。自3.2.5以上版本已经对16T以上的存储文件稳定支持。
2.直接支持裸设备存储(directory的读写)
这项功能摆脱linux文件系统的限制,可以将设备的物理性能发挥到极致了。
3.对wccp的应用
虽然开源以后将wccp的握手模块去除了,但是利SQUID的UDP2048端口握手能力也能极好地使用上WCCP的自动集群负载能力。
4.最重要的特性在于同时支持SMP。

本文重点在于介绍ATS的三种旁路接入方式。
旁路接入的好处,网络规划师基本上可以实现项目的交钥匙工程。虽然不能0运维,但是需要“半个小时到现场”的任务肯定将少很多。
依据现行的工业标准,能实现ATS(squid也是一样)有三种办法:

1)PBR(策略路由);
2)WCCP集群;
3)端口镜像(分光)。

先发布三种旁路方案实际模型

Tafficserver旁路接入方案综述 - itoedr - itoedr的it学苑

说明
:本方案中,核心交换机处需要进行路由配置,才能实现用户请求优先转向ATS服务器而不是直接通过交换机向外网申请服务。

图1:PBR旁路模型

Tafficserver旁路接入方案综述 - itoedr - itoedr的it学苑
图2-1:wccp的拦截原理图(from csico site)

 

Tafficserver旁路接入方案综述 - itoedr - itoedr的it学苑

图2-2:wccpv2自动负载集群模型

Tafficserver旁路接入方案综述 - itoedr - itoedr的it学苑
说明:本方案中,nginx 使用临时重定向镜像口B(A’)取得的请求Q.url,只要nginx 拦劫服务足够快,因为nginx回程距离小,绝大部分请求都能重定向成功,实现旁路接入对原主路的控制。

图3:镜像端点+抢占式服务模型​​​​​


这篇关于Tafficserver旁路接入方案综述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/822888

相关文章

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

MySQL中闪回功能的方案讨论及实现

《MySQL中闪回功能的方案讨论及实现》Oracle有一个闪回(flashback)功能,能够用户恢复误操作的数据,这篇文章主要来和大家讨论一下MySQL中支持闪回功能的方案,有需要的可以了解下... 目录1、 闪回的目标2、 无米无炊一3、 无米无炊二4、 演示5、小结oracle有一个闪回(flashb

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4

IDEA接入Deepseek的图文教程

《IDEA接入Deepseek的图文教程》在本篇文章中,我们将详细介绍如何在JetBrainsIDEA中使用Continue插件接入DeepSeek,让你的AI编程助手更智能,提高开发效率,感兴趣的小... 目录一、前置准备二、安装 Continue 插件三、配置 Continue 连接 DeepSeek四

Vue中动态权限到按钮的完整实现方案详解

《Vue中动态权限到按钮的完整实现方案详解》这篇文章主要为大家详细介绍了Vue如何在现有方案的基础上加入对路由的增、删、改、查权限控制,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、数据库设计扩展1.1 修改路由表(routes)1.2 修改角色与路由权限表(role_routes)二、后端接口设计

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot