Apache Deft Wiki

Apache Deft is a high-performance web server for the JVM, and is currently a podling in the Apache Incubator clutch.

Based upon a single-threaded and event-driven architecture, Deft is design to manage many thousands of simultaneous questions to circumvent the well-known C10K and C500K targets. Use of the JVM provides portability, with NIO as the basis for the asynchronous (non-blocking) IO.

Detailed information on the how and why of Deft can be found in the design documentation, whilst the ongoing road map is documented here.

Community

The main web site for the application is here.

The predominant means of communication with the groups is the development mailing list "deft-dev", and you can find subscription information here. There is also an IRC channel available for the inclined, and details are here. Those would like to get involved, should also read this document.

Getting Started

The source code contains a number of examples covering all areas of functionality, but getting started with Deft is quick and easy. Let's say that we want to create a simple web site, and will begin development on our local machine. This new web site will be the next big thing, providing a cheery greeting to users at a particular URL.

Basic Deft Application
        Configuration configuration = new Configuration();
        configuration.setHandlerPackage("org.apache.deft.example.handler");

        /*
         * Create an instance of HttpServer with the given Configuration, bind
         * to a single port and start.
         */
        HttpServer server = new HttpServer(configuration);
        server.listen(8080);
        IOLoop.INSTANCE.start();

Detailed information on the how and why of Deft can be found in the design documentation.

  • No labels