Tengine introduction

Tengine is a Web server project initiated by Taobao.com. It builds on Nginx and adds advanced functions and features for heavily trafficked web sites. Tengine’s performance and stability have been well tested on large websites such as Taobao and Tmall. Its ultimate goal is to create an efficient, stable, secure and easy-to-use Web platform.

Tengine has been an open source project since December 2011, and the Tengine team is actively developing and maintaining it. The core members of Tengine’s team come from Internet companies such as Taobao and Sogou. Tengine is a community effort and we welcome everyone to contribute.

features

  • Inherit all features of Nginx-1.8.1, compatible with Nginx configuration;
  • Dynamic module loading (DSO) support. Adding a module no longer requires recompiling the entire Tengine;
  • Support HTTP/2 protocol, HTTP/2 module to replace SPDY module;
  • Streaming upload to HTTP backend server or FastCGI server, greatly reducing the I/O pressure on the machine;
  • More powerful load balancing capabilities, including consistent Hash module, session persistence module, active health check for back-end servers, automatic online and offline based on server status, and dynamic resolution of domain names in upstreams;
  • Input filter mechanism support. By using this mechanism, the preparation of Web application firewall is more convenient;
  • You can set the retry times of proxy, memcached, FastCGI, SCgi, and UWSgi when the backend fails.
  • Dynamic scripting language Lua support. Extensions are very efficient and simple;
  • Collect Tengine running status by specified keywords (domain name, URL, etc.).
  • Combine multiple CSS/JavaScript file access requests into one request;
  • Automatically remove white space characters and comments to reduce page size;
  • Automatically set the number of processes and bound CPU affinity based on the number of cpus.
  • Monitoring system load and resource usage to protect the system;
  • Display more friendly error information for operation and maintenance personnel, easy to locate the error machine;
  • More powerful anti-attack (access speed limit) module;
  • More convenient command-line arguments, such as listing compiled modules, supported instructions, etc.
  • The expiration time can be set according to the file type.

More can be found at:

Project website: tengine.taobao.org/

Open source: github.com/alibaba/ten…

Recommended reading

Dry goods: Free 2TB architect four-stage video tutorial

Interview: the most complete Java multithreaded interview questions and answers

Tools: Recommended an online creation flow chart, mind mapping software

Share Java dry goods, high concurrency programming, hot technology tutorials, microservices and distributed technology, architecture design, blockchain technology, artificial intelligence, big data, Java interview questions, and cutting-edge hot news.