发布于 2014-09-05 10:20:22 | 235 次阅读 | 评论: 0 | 来源: 网友投递
Apache Traffic Server 反向代理和缓存服务器
Apache Traffic Server(ATS或TS)是一个高性能的、模块化的HTTP代理和缓存服务器,与 Nginx 和 Squid 类似。Traffic Server最初是 Inktomi 公司的商业产品,该公司在2003 年被 Yahoo 收购, 2009 年 8月 Yahoo 向 Apache 软件基金会(ASF)贡献了源代码,并于 2010 年 4月成为了 ASF的顶级项目(Top-LevelProject)。 Apache TrafficServer 现在是一个开源项目,开发语言为C++。
Apache Traffic Server v4.2.2 发布,此版本是最新的稳定版本,现已提供下载。
从 v3.2 版本升级到 v4.x 版本请小心,因为现在缓存不向后兼容,升级请查看升级指导。
Apache Traffic Server 4.2.2 版本将会是 4.x 的最后一个小版本,也是 LTS 版本。
更多改进内容请看这里。
改进记录:
Fix RAT report exceptions. plugin metrics fail after a crash Core dump inside openssl library TS-2859: remove DBG macros to not generate warnings... TS-2560: regex_remap lowercase substitutions is not... TS-2867: Remove clock functionality from traffic_shell... Revert commits that were accidentally pushed. TS-2879: Remap errors and redirects should honor keep... TS-2253: PluginVC::process_close Segmentation fault fix to deal with redirect by remap correctly for instru... [TS-1981] Adding arbitrary methods to url remap, and... TS-2497: Memory leak with failed posts TS-2766: Changing back default hdr heap str size to... TS-2766 Fix indentation / coding style TS-2766: HdrHeap::coalesce_str_heaps doesn't properly... Setting rpath to reference value used when --with-opens... [TS-2665] Clean up ink_stack_trace_dump code SSL start as root Fix internal half closed post bug Header Quotes patch, dont trim quotes if the field... Adding small check for non-zero reads Correct some stat variables Hide query parameters access log [TS-2822] Crash in LogBufferIterator::next TS-2784 Fix build for FreeBSD10 TS-2778: Websockets remap doesn't properly handle the... TS-2564: Fix race condition when object is in the ram_c... Add license blurb to trafficserver.service Add AL2 license to all .po files, makes RAT happy
Traffic Server 是一套快速、模块化的兼容 HTTP/1.1 的反向代理服务器,与 Nginx 和 Squid 类似,目前该项目已经转到 Apache 基金会。
Traffic Server设计的思想是将一个大系统划分为若干个小的子系统,每个子系统负责专门的任务或应用。比如,Event子系统负责提供任务调度服务,Net子 系统负责提供网络服务。每个子系统抽象为一个Processor,如图1所示。这种高内聚低耦合的设计原则使系统具有更好的重用性,维护性和扩展性。例 如,如果hostDBProcessor需要进行DNS解析,可以直接调用dnsProcessor的相关函数,而无需关注DNS解析的细 节;dnsProcessor也只需封装DNS请求和解析DNS应答,和网络相关的功能可以调用netProcessor来完成。