发布于 2015-09-22 09:20:52 | 264 次阅读 | 评论: 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 6.0.0 发布,此版本现已提供下载:
http://trafficserver.apache.org/downloads
当从 5.x 升级至 6.0 版本时,需要重新编译用户编写的插件。如果从 3.2.0+ 版本升级至 v6.0.0,清闲保存好缓存,详细升级指导请看:https://cwiki.apache.org/confluence/display/TS/Upgrading+to+v6.0
这是第二个支持 HTTP/2 的版本,现在已经趋于稳定。此版本不再支持 RHEL5。
主要改进如下:
应用协议 (HTTP/2, HTTP/1, SPDY/3.1), with %<cqpv>.
Milestones/state times of a transactions to get a better understanding of where time for responses is spent.
SSL session 攻击或者丢失
连接复用或者请求新连接
Ability to wire trace and log TLS connections. See "New Configuration Options" below.
Added support for PCRE Jit for regex_map. Automatically used when compiled on a system that supports it. There is a speed improvement over normal PCRE matching.
traffic_line command line program will be removed in the 7.0.0 release and is replaced by the command line program traffic_ctl
SPDY support will be removed in the 7.0.0 release and is replaced by only supporting HTTP/2
proxy.config.cop.init_sleep_time
proxy.config.http.websocket.max_number_of_connections
proxy.config.net.max_connections_active_in
proxy.config.http.max_post_size
proxy.config.http.cache.generation
proxy.config.http.cache.open_write_fail_action
proxy.config.net.inactivity_check_frequency
proxy.config.net.event_period
proxy.config.net.accept_period
proxy.config.net.retry_delay
proxy.config.net.throttle_delay
proxy.config.cache.read_while_writer.max_retries
proxy.config.cache.read_while_writer_retry.delay
proxy.config.log.periodic_tasks_interval
proxy.config.ssl.handshake_timeout_in
proxy.config.ssl.wire_trace_enabled
proxy.config.ssl.wire_trace_addrproxy.config.ssl.wire_trace_percentage
proxy.config.ssl.wire_trace_server_name
proxy.config.http2.accept_no_activity_timeout
proxy.config.http2.no_activity_timeout_in
proxy.config.allocator.hugepages
HTTP/2 Metrics
proxy.process.http2.total_client_streams
proxy.process.http2.total_transactions_time
proxy.process.http2.total_client_connections
proxy.process.http2.connection_errors
proxy.process.http2.stream_errors
proxy.process.http2.current_client_sessions
proxy.process.http2.current_client_streams
stream_editor - Plugins for modifying the content of a response using a string or regular expression substitution
mp4 - Allows for starting at the offset of a mp4 video stream
cache_promote - Give better granularity on when an object is allowed to be written into the cache.
更多改进内容请看:https://cwiki.apache.org/confluence/display/TS/What%27s+New+in+v6.0.x
Traffic Server 是一套快速、模块化的兼容 HTTP/1.1 的反向代理服务器,与 Nginx 和 Squid 类似,目前该项目已经转到 Apache 基金会。
Traffic Server设计的思想是将一个大系统划分为若干个小的子系统,每个子系统负责专门的任务或应用。比如,Event子系统负责提供任务调度服务,Net子 系统负责提供网络服务。每个子系统抽象为一个Processor,如图1所示。这种高内聚低耦合的设计原则使系统具有更好的重用性,维护性和扩展性。例 如,如果hostDBProcessor需要进行DNS解析,可以直接调用dnsProcessor的相关函数,而无需关注DNS解析的细 节;dnsProcessor也只需封装DNS请求和解析DNS应答,和网络相关的功能可以调用netProcessor来完成。