3th April 2013




Enterprise(d) Tomcat in Action

        Václav Tunka
        Software Engineer,
        JBoss by Red Hat
What will we cover

• Short intro to httpd and tomcat
• New features in httpd 2.4
• New features in Tomcat 7 & 8
httpd

• Multi-platform HTTP server with reverse
  proxy, load balancing, virtual hosting, ...
• httpd 1.0 was initially designed for a
  different situation than we have now
• A lot of clustered servers for backend
  (tomcat, AS, jetty), now we need
  clustering for httpd as well
Some statistics
httpd 2.4

• Improvements in performance
• Making httpd “cloud ready”
• Async I/O
  – Multi-Processing Module workers (MPM)
    as default.
• High-performance APR
Apache Portable Runtime

• Platform independent API for:
  – Memory allocation and memory pool
    functionality
  – Atomic operations
  – Dynamic library handling
  – File I/O
  – Locking
  – Thread, process and mutex functionality
Modules

•   Bandwith control: mod_ratelimit
•   Security: mod_reqtimeout
•   I/O buffer control: mod_buffer
•   LUA support: mod_lua
•   Making the proxy cloud friendly:
    – mod_slotmem_shm (from mod_cluster)
Reverse proxy

• Support for dynamic configuration.
• Runtime change of clusters w/o
  restarts.
• mod_proxy_express for cloud services.
• Connection pooling
Cloud ready

• Solving horizontal scalability.
• Low latency.
• Fast request-response turover.
Time for Tomcat
Tomcat 7

• Servlet 3.0 compliant
  – asynchronous execution of processing
  – pluggability and extension support
  – new set of annotations
• JSP 2.2 – Jasper part of Tomcat project
Tomcat 7

• Valves replaced by Filters (Valves still
  work)
• Startup time reduced
• Easy to configure programatically
Tomcat 8

• Servlet 3.1
  – Non-blocking I/O
  – HTTP protocol upgrade mechanism
  – Security improvements
• JSP 2.3
• SPDY
• Web sockets
References

• [1] httpd usage according to W3Tech
• Apache and Tomcat logos from
  apache.org
• Mladen Turk's httpd and Tomcat
  presentations
Questions?




             15
16

Enterprise(d) Tomcat & httpd

  • 1.
    3th April 2013 Enterprise(d)Tomcat in Action Václav Tunka Software Engineer, JBoss by Red Hat
  • 2.
    What will wecover • Short intro to httpd and tomcat • New features in httpd 2.4 • New features in Tomcat 7 & 8
  • 3.
    httpd • Multi-platform HTTPserver with reverse proxy, load balancing, virtual hosting, ... • httpd 1.0 was initially designed for a different situation than we have now • A lot of clustered servers for backend (tomcat, AS, jetty), now we need clustering for httpd as well
  • 4.
  • 5.
    httpd 2.4 • Improvementsin performance • Making httpd “cloud ready” • Async I/O – Multi-Processing Module workers (MPM) as default. • High-performance APR
  • 6.
    Apache Portable Runtime •Platform independent API for: – Memory allocation and memory pool functionality – Atomic operations – Dynamic library handling – File I/O – Locking – Thread, process and mutex functionality
  • 7.
    Modules • Bandwith control: mod_ratelimit • Security: mod_reqtimeout • I/O buffer control: mod_buffer • LUA support: mod_lua • Making the proxy cloud friendly: – mod_slotmem_shm (from mod_cluster)
  • 8.
    Reverse proxy • Supportfor dynamic configuration. • Runtime change of clusters w/o restarts. • mod_proxy_express for cloud services. • Connection pooling
  • 9.
    Cloud ready • Solvinghorizontal scalability. • Low latency. • Fast request-response turover.
  • 10.
  • 11.
    Tomcat 7 • Servlet3.0 compliant – asynchronous execution of processing – pluggability and extension support – new set of annotations • JSP 2.2 – Jasper part of Tomcat project
  • 12.
    Tomcat 7 • Valvesreplaced by Filters (Valves still work) • Startup time reduced • Easy to configure programatically
  • 13.
    Tomcat 8 • Servlet3.1 – Non-blocking I/O – HTTP protocol upgrade mechanism – Security improvements • JSP 2.3 • SPDY • Web sockets
  • 14.
    References • [1] httpdusage according to W3Tech • Apache and Tomcat logos from apache.org • Mladen Turk's httpd and Tomcat presentations
  • 15.
  • 16.