What is Jetty and what are its top alternatives?
Jetty is a lightweight and highly scalable Java-based web server and servlet container. Key features of Jetty include support for the latest Java versions, WebSocket and HTTP/2 support, modular architecture, and low latency handling of dynamic content. However, some limitations of Jetty include complexity in configuration and setup for beginners and lack of extensive documentation compared to other web server options.
Apache Tomcat: Apache Tomcat is a widely used open-source web server and servlet container. Key features include easy integration with other Apache projects, extensive documentation, support for Java EE technologies, and a large active community. However, some may find Apache Tomcat to be less lightweight compared to Jetty.
Undertow: Undertow is a lightweight and high-performance web server designed for both blocking and non-blocking operations. Key features include flexible configuration options, WebSocket support, and seamless integration with JBoss AS. However, Undertow may have a steeper learning curve for beginners compared to Jetty.
NGINX: NGINX is a popular web server known for its high performance, scalability, and low resource consumption. Key features include reverse proxy capabilities, load balancing, and TLS/SSL termination. However, NGINX may require additional modules for certain functionality that Jetty offers out of the box.
WildFly: WildFly, formerly known as JBoss, is a robust and feature-rich Java application server. Key features include support for Java EE technologies, clustering capabilities, and a management console for easy administration. However, WildFly may be overkill for simpler web server needs compared to Jetty.
Resin: Resin is a fast and reliable Java-based application server and web container. Key features include clustering support, dynamic class reloading, and high-speed performance. However, Resin may have a smaller community and less extensive documentation compared to Jetty.
Caddy: Caddy is a modern web server with automatic HTTPS setup, HTTP/2 support, and easy configuration using Caddyfile. Key features include Let's Encrypt integration, reverse proxy capabilities, and on-the-fly TLS certificate generation. However, some advanced users may find Caddy's configuration options limiting compared to Jetty.
GlassFish: GlassFish is a robust and full-featured Java EE application server. Key features include support for the latest Java EE specifications, clustering capabilities, and a modular architecture. However, GlassFish may have higher resource requirements compared to Jetty for smaller-scale deployments.
Tomee: Apache TomEE is a lightweight and enterprise-ready Java EE application server built on top of Apache Tomcat. Key features include support for Java EE technologies, simplified configuration, and a small memory footprint. However, some users may find Apache TomEE to be less feature-rich compared to Jetty.
Grizzly: Grizzly is a lightweight framework for building scalable and performant web applications in Java. Key features include support for WebSocket, HTTP/2, and an event-driven architecture for high concurrency. However, Grizzly may require more manual configuration compared to the out-of-the-box functionality of Jetty.
Play Framework: Play Framework is a modern web framework for building reactive applications in Java and Scala. Key features include hot reloading, built-in testing support, and asynchronous request handling. However, Play Framework may have a different programming model compared to traditional web servers like Jetty.
Top Alternatives to Jetty
- Apache Tomcat
Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations. ...
- Netty
Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server. ...
- Wildfly
It is a flexible, lightweight, managed application runtime that helps you build amazing applications. It supports the latest standards for web development. ...
- JBoss
An application platform for hosting your apps that provides an innovative modular, cloud-ready architecture, powerful management and automation, and world class developer productivity. ...
- GlassFish
An Application Server means, It can manage Java EE applications You should use GlassFish for Java EE enterprise applications. The need for a seperate Web server is mostly needed in a production environment. ...
- Jersey
It is open source, production quality, framework for developing RESTful Web Services in Java that provides support for JAX-RS APIs and serves as a JAX-RS (JSR 311 & JSR 339) Reference Implementation. It provides it’s own API that extend the JAX-RS toolkit with additional features and utilities to further simplify RESTful service and client development. ...
- Undertow
It is a flexible performant web server written in java, providing both blocking and non-blocking API’s based on NIO. It has a composition based architecture that allows you to build a web server by combining small single purpose handlers. The gives you the flexibility to choose between a full Java EE servlet 4.0 container, or a low level non-blocking handler, to anything in between. ...
- NGINX
nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018. ...
Jetty alternatives & related posts
Apache Tomcat
- Easy79
- Java72
- Popular49
- Spring web1
- Blocking - each http request block a thread2
- Easy to set up1
related Apache Tomcat posts
I need some advice to choose an engine for generation web pages from the Spring Boot app. Which technology is the best solution today? 1) JSP + JSTL 2) Apache FreeMarker 3) Thymeleaf Or you can suggest even other perspective tools. I am using Spring Boot, Spring Web, Spring Data, Spring Security, PostgreSQL, Apache Tomcat in my project. I have already tried to generate pages using jsp, jstl, and it went well. However, I had huge problems via carrying already created static pages, to jsp format, because of syntax. Thanks.
- High Performance9
- Easy to use4
- Just like it3
- Limited resources to learn from2
related Netty posts
- Eclipse integration3
- Java3
related Wildfly posts
related JBoss posts
related GlassFish posts
- Lightweight4
- Fast Performance With Microservices1
- Java standard1
related Jersey posts
- Performance4
- Lower footprint1
- Smaller community1
- Less known1
related Undertow posts
NGINX
- High-performance http server1.4K
- Performance893
- Easy to configure730
- Open source607
- Load balancer530
- Free288
- Scalability288
- Web server225
- Simplicity175
- Easy setup136
- Content caching30
- Web Accelerator21
- Capability15
- Fast14
- High-latency12
- Predictability12
- Reverse Proxy8
- The best of them7
- Supports http/27
- Great Community5
- Lots of Modules5
- Enterprise version5
- High perfomance proxy server4
- Reversy Proxy3
- Streaming media delivery3
- Streaming media3
- Embedded Lua scripting3
- GRPC-Web2
- Blash2
- Lightweight2
- Fast and easy to set up2
- Slim2
- saltstack2
- Virtual hosting1
- Narrow focus. Easy to configure. Fast1
- Along with Redis Cache its the Most superior1
- Ingress controller1
- Advanced features require subscription10
related NGINX posts
Recently I have been working on an open source stack to help people consolidate their personal health data in a single database so that AI and analytics apps can be run against it to find personalized treatments. We chose to go with a #containerized approach leveraging Docker #containers with a local development environment setup with Docker Compose and nginx for container routing. For the production environment we chose to pull code from GitHub and build/push images using Jenkins and using Kubernetes to deploy to Amazon EC2.
We also implemented a dashboard app to handle user authentication/authorization, as well as a custom SSO server that runs on Heroku which allows experts to easily visit more than one instance without having to login repeatedly. The #Backend was implemented using my favorite #Stack which consists of FeathersJS on top of Node.js and ExpressJS with PostgreSQL as the main database. The #Frontend was implemented using React, Redux.js, Semantic UI React and the FeathersJS client. Though testing was light on this project, we chose to use AVA as well as ESLint to keep the codebase clean and consistent.
Around the time of their Series A, Pinterest’s stack included Python and Django, with Tornado and Node.js as web servers. Memcached / Membase and Redis handled caching, with RabbitMQ handling queueing. Nginx, HAproxy and Varnish managed static-delivery and load-balancing, with persistent data storage handled by MySQL.