Apache Traffic Server

Last updated
Apache Traffic Server
Developer(s) Apache Software Foundation
Stable release
9.x9.2.2 / August 3, 2023;2 months ago (2023-08-03) [1]
8.x8.1.8 / August 3, 2023;2 months ago (2023-08-03) [1]
Repository Traffic Server Repository
Written in C++
Operating system Cross-platform
Available inEnglish
Type Web cache, Proxy server
License Apache License 2.0 [2]
Website trafficserver.apache.org   OOjs UI icon edit-ltr-progressive.svg

The Apache Traffic Server (ATS) is a modular, high-performance reverse proxy and forward proxy server, generally comparable to Nginx and Squid. It was created by Inktomi, and distributed as a commercial product called the Inktomi Traffic Server, before Inktomi was acquired by Yahoo!.

Contents

Shortly after Yahoo! released the TS source to Apache as an Apache Incubator project in July 2009, [3] a guest editor on Yahoo!'s online publication OStatic [4] stated that Yahoo! uses TS in production to serve more than 30 billion objects per day on sites like the Yahoo! homepage, and Yahoo! Sports, Mail and Finance.

On April 21, 2010, the Apache board accepted Traffic Server as a TLP, graduating the project out of incubation. [5]

Current version

The latest stable version is 9.2.2 and was released on August 3, 2023. The latest long-term support version is 8.1.8 and was released on August 3, 2023. [6]

As of June 2021, ATS is released in two stable versions, Version 8 is a long-term support version of ATS while version 9 is the latest stable release, with quarterly minor versions scheduled. Beginning with version 4.0, all releases are considered stable for production, and follow regular semantic versioning . No more developer preview releases will be made, instead, the Git master branch is considered preview quality at all times. Long-term support is provided for the last minor version within a major release, for one added year. [7]

ATS has good support for the next generation HTTP protocol as of v6.0.0, HTTP/2 (a.k.a. H2). On the Is TLS Fast Yet site, it scores 100%. ATS is actively developed and supported by several large companies, as well as many individual contributors.

Features and performance

The OStatic post describes TS as shipping "... with not only an HTTP web proxy and caching solution, but also ... a server framework, with which you can build very fast servers for other protocols". Traffic Server has been benchmarked to handle 200,000 requests per second or more (small objects out of cache). [8] At a talk at the 2009 Cloud Computing Expo, [9] members of the Yahoo! TS team stated that TS is used in production at Yahoo! to handle 400TB of traffic per day using only 150 commodity machines. The OStatic post describes TS as the "product of literally hundreds of developer-years".

Deployment

In the context of cloud computing, TS would sit conceptually at the edge of the cloud, routing requests as they come in. In Yahoo!, it is used for the edge services as shown in a graphic [10] distributed at the 2009 Cloud Computing Expo depicting Yahoo!'s private cloud architecture. In practical terms, a typical server configuration might use TS to serve static content, such as images, JavaScript, Cascading Style Sheets (CSS), and HyperText Markup Language (HTML) files, and route requests for dynamic content to a web server such as Apache HTTP Server.

Related Research Articles

<span class="mw-page-title-main">Apache HTTP Server</span> Open-source web server software

The Apache HTTP Server is a free and open-source cross-platform web server software, released under the terms of Apache License 2.0. It is developed and maintained by a community of developers under the auspices of the Apache Software Foundation.

<span class="mw-page-title-main">Web server</span> Computer software that distributes web pages

A web server is computer software and underlying hardware that accepts requests via HTTP or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initiates communication by making a request for a web page or other resource using HTTP, and the server responds with the content of that resource or an error message. A web server can also accept and store resources sent from the user agent if configured to do so.

<span class="mw-page-title-main">Inktomi</span> Former software company based in California

Inktomi Corporation was a company that provided software for Internet service providers (ISPs). It was incorporated in Delaware and headquartered in Foster City, California, United States. Customers included Microsoft, HotBot, Amazon.com, eBay, and Walmart.

<span class="mw-page-title-main">Apache Tomcat</span> Java-based HTTP web server environment

Apache Tomcat is a free and open-source implementation of the Jakarta Servlet, Jakarta Expression Language, and WebSocket technologies. It provides a "pure Java" HTTP web server environment in which Java code can also run. Thus it is a Java web application server, although not a full JEE application server.

<span class="mw-page-title-main">Squid (software)</span> Caching and forwarding HTTP web proxy

Squid is a caching and forwarding HTTP web proxy. It has a wide variety of uses, including speeding up a web server by caching repeated requests, caching World Wide Web (WWW), Domain Name System (DNS), and other computer network lookups for a group of people sharing network resources, and aiding security by filtering traffic. Although used for mainly HTTP and File Transfer Protocol (FTP), Squid includes limited support for several other protocols including Internet Gopher, Secure Sockets Layer (SSL), Transport Layer Security (TLS), and Hypertext Transfer Protocol Secure (HTTPS). Squid does not support the SOCKS protocol, unlike Privoxy, with which Squid can be used in order to provide SOCKS support.

BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. It runs in the Java Runtime Environment (JRE), dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures, like those in Perl and JavaScript.

<span class="mw-page-title-main">Reverse proxy</span> Type of proxy server

In computer networks, a reverse proxy is an application that sits in front of back-end applications and forwards client requests to those applications. Reverse proxies help increase scalability, performance, resilience and security. The resources returned to the client appear as if they originated from the web server itself.

The Apache JServ Protocol (AJP) is a binary protocol that can proxy inbound requests from a web server through to an application server that sits behind the web server. AJP is a highly trusted protocol and should never be exposed to untrusted clients, which could use it to gain access to sensitive information or execute code on the application server.

Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and publicly released in 2004. Nginx is free and open-source software, released under the terms of the 2-clause BSD license. A large fraction of web servers use Nginx, often as a load balancer.

Resin is a web server and Java application server from Caucho Technology. In addition to Resin (GPL), Resin Pro is available for enterprise and production environments with a license. Resin supports the Java EE standard as well as a mod_php/PHP like engine called Quercus.

<span class="mw-page-title-main">AppScale</span> American cloud infrastructure software company

AppScale is a software company offering cloud infrastructure software and services to enterprises, government agencies, contractors, and third-party service providers. The company commercially supports one software product, AppScale ATS, a managed hybrid cloud infrastructure software platform that emulates the core AWS APIs. In 2019, the company ended commercial support for its open-source serverless computing platform AppScale GTS, however, its source code remains freely available to the open-source community.

SPDY is an obsolete open-specification communication protocol developed for transporting web content. SPDY became the basis for HTTP/2 specification. However, HTTP/2 diverged from SPDY and eventually HTTP/2 subsumed all usecases of SPDY. After HTTP/2 was ratified as a standard, major implementers, including Google, Mozilla, and Apple, deprecated SPDY in favor of HTTP/2. Since 2021, no modern browser supports SPDY.

<span class="mw-page-title-main">WebSocket</span> Computer network protocol

WebSocket is a computer communications protocol, providing full-duplex communication channels over a single TCP connection. The WebSocket protocol was standardized by the IETF as RFC 6455 in 2011. The current API specification allowing web applications to use this protocol is known as WebSockets. It is a living standard maintained by the WHATWG and a successor to The WebSocket API from the W3C.

CloudStack is open-source Infrastructure-as-a-Service cloud computing software for creating, managing, and deploying infrastructure cloud services. It uses existing hypervisor platforms for virtualization, such as KVM, VMware vSphere, including ESXi and vCenter, XenServer/XCP and XCP-ng. In addition to its own API, CloudStack also supports the Amazon Web Services (AWS) API and the Open Cloud Computing Interface from the Open Grid Forum.

<span class="mw-page-title-main">Apache Flink</span> Framework and distributed processing engine

Apache Flink is an open-source, unified stream-processing and batch-processing framework developed by the Apache Software Foundation. The core of Apache Flink is a distributed streaming data-flow engine written in Java and Scala. Flink executes arbitrary dataflow programs in a data-parallel and pipelined manner. Flink's pipelined runtime system enables the execution of bulk/batch and stream processing programs. Furthermore, Flink's runtime supports the execution of iterative algorithms natively.

Google PageSpeed is a family of tools by Google Inc, designed to help a website's performance optimizations. It was introduced at Developer Conference in 2010. There are four main components of PageSpeed family tools: PageSpeed Module, consisting of mod PageSpeed for the Apache HTTP Server and ngx PageSpeed for the Nginx, PageSpeed Insights, PageSpeed Service, and PageSpeed Chrome DevTools extension. All of these components are built to identify the faults in a website's compliance with Google's Web Performance Best Practices, and automate the optimization process.

<span class="mw-page-title-main">Apache Kylin</span> Open-source distributed analytics engine

Apache Kylin is an open source distributed analytics engine designed to provide a SQL interface and multi-dimensional analysis (OLAP) on Hadoop and Alluxio supporting extremely large datasets.

Outline VPN is a free and open-source tool that deploys Shadowsocks servers on multiple cloud service providers. The software suite also includes client software for multiple platforms. Outline was developed by Jigsaw, a technology incubator created by Google.[3]

Apache IoTDB is a column-oriented open-source, time-series database (TSDB) management system written in Java. It has both edge and cloud versions, provides an optimized columnar file format for efficient time-series data storage, and TSDB with high ingestion rate, low latency queries and data analysis support. It is specially optimized for time-series oriented operations like aggregations query, downsampling and sub-sequence similarity search. The name IoTDB comes from Internet of Things (IoT) Database, which means it was designed as an IoT-native TSDB that resolves the pain points of the typical IoT scenarios, including massive data generation, high frequency sampling, out-of-order data, specific analytics requirements, high costs of storage and operation & maintenance, low computational power of IoT devices.

References

  1. 1 2 "Apache Traffic Server Downloads". trafficserver.apache.org/. Apache Software Foundation. 2021-04-21. Retrieved September 27, 2021.
  2. "Traffic Server license file". Apache Software Foundation. Archived from the original on 2009-11-03. Retrieved 2009-12-24.
  3. "Apache Incubator Wiki August 2009 Board reports". 2009-08-12. Archived from the original on 2012-08-21. Retrieved 2009-12-24.
  4. "Yahoo's Cloud Team Open Sources Traffic Server". 2009-11-02. Archived from the original on 2012-06-12. Retrieved 2009-12-24.
  5. "Traffic Server graduates to top-level open-source project". 2010-04-23.
  6. "Apache Traffic Server Downloads". trafficserver.apache.org. Retrieved 2021-06-08.
  7. "Official project release management process". 2013-09-06.
  8. "The Apache Software Foundation Announces Apache Traffic Server v3.0.0 : The Apache Software Foundation Blog". 2011-06-14.
  9. "2009 Cloud Computing Expo". 2009-08-12. Archived from the original on 2010-01-02. Retrieved 2020-06-19.
  10. "Yahoo's edge services graphic". 2011-06-14. Archived from the original on 2013-01-31. Retrieved 2011-06-14.