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

相关文章

PyCharm 接入 DeepSeek最新完整教程

《PyCharm接入DeepSeek最新完整教程》文章介绍了DeepSeek-V3模型的性能提升以及如何在PyCharm中接入和使用DeepSeek进行代码开发,本文通过图文并茂的形式给大家介绍的... 目录DeepSeek-V3效果演示创建API Key在PyCharm中下载Continue插件配置Con

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

Redis 多规则限流和防重复提交方案实现小结

《Redis多规则限流和防重复提交方案实现小结》本文主要介绍了Redis多规则限流和防重复提交方案实现小结,包括使用String结构和Zset结构来记录用户IP的访问次数,具有一定的参考价值,感兴趣... 目录一:使用 String 结构记录固定时间段内某用户 IP 访问某接口的次数二:使用 Zset 进行

解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)

《解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)》该文章介绍了使用Redis的阻塞队列和Stream流的消息队列来优化秒杀系统的方案,通过将秒杀流程拆分为两条流水线,使用Redi... 目录Redis秒杀优化方案(阻塞队列+Stream流的消息队列)什么是消息队列?消费者组的工作方式每

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

MySQL分表自动化创建的实现方案

《MySQL分表自动化创建的实现方案》在数据库应用场景中,随着数据量的不断增长,单表存储数据可能会面临性能瓶颈,例如查询、插入、更新等操作的效率会逐渐降低,分表是一种有效的优化策略,它将数据分散存储在... 目录一、项目目的二、实现过程(一)mysql 事件调度器结合存储过程方式1. 开启事件调度器2. 创

Java解析JSON的六种方案

《Java解析JSON的六种方案》这篇文章介绍了6种JSON解析方案,包括Jackson、Gson、FastJSON、JsonPath、、手动解析,分别阐述了它们的功能特点、代码示例、高级功能、优缺点... 目录前言1. 使用 Jackson:业界标配功能特点代码示例高级功能优缺点2. 使用 Gson:轻量

Redis KEYS查询大批量数据替代方案

《RedisKEYS查询大批量数据替代方案》在使用Redis时,KEYS命令虽然简单直接,但其全表扫描的特性在处理大规模数据时会导致性能问题,甚至可能阻塞Redis服务,本文将介绍SCAN命令、有序... 目录前言KEYS命令问题背景替代方案1.使用 SCAN 命令2. 使用有序集合(Sorted Set)

MyBatis延迟加载的处理方案

《MyBatis延迟加载的处理方案》MyBatis支持延迟加载(LazyLoading),允许在需要数据时才从数据库加载,而不是在查询结果第一次返回时就立即加载所有数据,延迟加载的核心思想是,将关联对... 目录MyBATis如何处理延迟加载?延迟加载的原理1. 开启延迟加载2. 延迟加载的配置2.1 使用

Android WebView的加载超时处理方案

《AndroidWebView的加载超时处理方案》在Android开发中,WebView是一个常用的组件,用于在应用中嵌入网页,然而,当网络状况不佳或页面加载过慢时,用户可能会遇到加载超时的问题,本... 目录引言一、WebView加载超时的原因二、加载超时处理方案1. 使用Handler和Timer进行超