NuggetServer01/09/24 PermalinkA lightweight (under 200KB with dependencies) Java HTTP/1.1 server with integrated cert renewal.
Some of the features:
- Cert renewal with Let's Encrypt API integration
- Overridden keystore to enable 0 downtime
- Real-time stale socket detection
- Drop-in app integration specified at the command line
- Wraps in a bash script that detects unresponsiveness
- Only necessary libraries used
This was built due to my dissatisfaction with being unable to utilise other available web containers. Sure, you could try and strip and modify but the time it would take would probably be more than building from scratch. Building from scratch gives you the power to be able to optimise performance for your particular requirements. The HTTP/1.1 protocol is fairly simple compared to HTTP/2.0 and if you inline content and use keep-alive the performance should be similar to HTTP/2.0 (give or take the binary speed boost). NIO Selectors weren't used because under the hood NIO sockets are used when using plain new Socket. Virtual threads offered a significant performance improvement as well. |
|