httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From field...@apache.org
Subject svn commit: r529463 - /httpd/sandbox/amsterdam/ROADMAP
Date Tue, 17 Apr 2007 01:18:51 GMT
Author: fielding
Date: Mon Apr 16 18:18:50 2007
New Revision: 529463

URL: http://svn.apache.org/viewvc?view=rev&rev=529463
Log:
add more discussion items from on-list

Modified:
    httpd/sandbox/amsterdam/ROADMAP

Modified: httpd/sandbox/amsterdam/ROADMAP
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/ROADMAP?view=diff&rev=529463&r1=529462&r2=529463
==============================================================================
--- httpd/sandbox/amsterdam/ROADMAP (original)
+++ httpd/sandbox/amsterdam/ROADMAP Mon Apr 16 18:18:50 2007
@@ -8,12 +8,20 @@
 
 Configuration
 
-    * Build a cleaner configuration system based on an Object Model, 
+    * Pain points with 2.x:
+        - config does not enable runtime changes [PaulQ]
+        - config is not easy to programmatically extend [PaulQ]
+        - config syntax is a dozen ad-hoc rules instead of one language [RoyF]
+        - config lacking macros and parameters [JorgeS]
+        - config file size is unwieldy, could benefit from an outline
+          presentation (similar to ad-hoc syntax pain) [RoyF]
+
+    * Build a cleaner configuration system based on an Object Model,
       rather than a file/specific directives.
 
-    * Investigate using small scripting languages for complicated user 
+    * Investigate using small scripting languages for complicated user
       configurable things, including Caching Rules, Rewrite Rules, and
-      AAA/Require Rules. Look at Varnish's VCL or lighttpd's mod_magnet 
+      AAA/Require Rules. Look at Varnish's VCL or lighttpd's mod_magnet
       for interesting examples:
             <http://phk.freebsd.dk/pubs/varnish_tech.pdf>
             <http://trac.lighttpd.net/trac/wiki/Docs:ModMagnet>
@@ -37,10 +45,15 @@
 
 Parent Startup
 
+    * Separate SSL-enabled install (httpsd) from non-SSL [RoyF]
+
 
 Parent-Worker Coordination (MPM)
 
-    * Refactor MPMs to split platform specific needs from the process 
+    * Pain points:
+       - large ISPs need per-customer (per-vhost) isolation [RoyF]
+
+    * Refactor MPMs to split platform specific needs from the process
       and thread models.  A reasonable goal is to have one thread model
       that runs on both unix and winnt.
 
@@ -66,17 +79,21 @@
       filters, buckets and brigades work with the Async Core.
             <http://code.google.com/p/serf/>
 
+    * Make everything possible into a hook or use the provider model.
+      Example: the way we determine if a connection can be kept alive
+      is a monolithic function.  This should be a hook. [BrianA]
+
 
 Worker Back-end
 
     * Investigate using Syslets for functions like stat():
             <http://lkml.org/lkml/2007/2/13/142>
 
-    * Investigate providing a higher level module API, which hides the 
+    * Investigate providing a higher level module API, which hides the
       complexity of an async core. Basically, a 'simple world view' for those
       that want to write a simple generator.
 
-    * Promote and include a external-process communication method in the
+    * Promote and include an external-process communication method in the
       core.  This could be used to communicate with PHP, a JVM, Ruby or many
       other things that do not wish to be run inside a highly-threaded and
       async core.  We should optionally include a process management framework,
@@ -88,4 +105,19 @@
 
 
 Platform Portability
+
+    * Replace the generic MPM design with specific designs for each of
+      the modern platforms, find a way to stay in kernel-land until a
+      valid request is received (with load restrictions tested and ipfw
+      applied automatically), transform the request into a waka message,
+      and then dispatch that request to a process running under a userid
+      matched to a prefix of the URI.
+
+    * Replace APR with a library that only does portability, never
+      allocates memory, and doesn't use pools (at least not directly)
+
+
+General Performance
+
+    * Reduce default memory footprint
 



Mime
View raw message