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

相关文章

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

在Java中将XLS转换为XLSX的实现方案

《在Java中将XLS转换为XLSX的实现方案》在本文中,我们将探讨传统ExcelXLS格式与现代XLSX格式的结构差异,并为Java开发者提供转换方案,通过了解底层原理、性能优势及实用工具,您将掌握... 目录为什么升级XLS到XLSX值得投入?实际转换过程解析推荐技术方案对比Apache POI实现编程

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

spring security 超详细使用教程及如何接入springboot、前后端分离

《springsecurity超详细使用教程及如何接入springboot、前后端分离》SpringSecurity是一个强大且可扩展的框架,用于保护Java应用程序,尤其是基于Spring的应用... 目录1、准备工作1.1 引入依赖1.2 用户认证的配置1.3 基本的配置1.4 常用配置2、加密1. 密

利用Python实现可回滚方案的示例代码

《利用Python实现可回滚方案的示例代码》很多项目翻车不是因为不会做,而是走错了方向却没法回头,技术选型失败的风险我们都清楚,但真正能提前规划“回滚方案”的人不多,本文从实际项目出发,教你如何用Py... 目录描述题解答案(核心思路)题解代码分析第一步:抽象缓存接口第二步:实现两个版本第三步:根据 Fea

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

MySQL精准控制Binlog日志数量的三种方案

《MySQL精准控制Binlog日志数量的三种方案》作为数据库管理员,你是否经常为服务器磁盘爆满而抓狂?Binlog就像数据库的“黑匣子”,默默记录着每一次数据变动,但若放任不管,几天内这些日志文件就... 目录 一招修改配置文件:永久生效的控制术1.定位my.cnf文件2.添加核心参数不重启热更新:高手应