mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-11 03:31:36 +00:00
DOC: update roadmap
1.5-dev is closed, it will not get any more updates.
This commit is contained in:
parent
4a0a8db9c6
commit
3139fec6d7
130
ROADMAP
130
ROADMAP
@ -1,8 +1,8 @@
|
|||||||
Medium-long term roadmap - 2014/05/10
|
Medium-long term roadmap - 2014/06/19
|
||||||
|
|
||||||
Legend: '+' = done, '-' = todo, '*' = done except doc
|
Legend: '+' = done, '-' = todo, '*' = done except doc
|
||||||
|
|
||||||
1.5 (ETA 2013/12/31) :
|
1.6 or later :
|
||||||
- POST parameter extraction and size/speed measurement to use in ACLs
|
- POST parameter extraction and size/speed measurement to use in ACLs
|
||||||
|
|
||||||
- return-html code xxx [ file "xxx" | text "xxx" ] if <acl>
|
- return-html code xxx [ file "xxx" | text "xxx" ] if <acl>
|
||||||
@ -41,113 +41,6 @@ Legend: '+' = done, '-' = todo, '*' = done except doc
|
|||||||
|
|
||||||
- http-request track-sc* to avoid having the ugly "if !HTTP" in tcp-request
|
- http-request track-sc* to avoid having the ugly "if !HTTP" in tcp-request
|
||||||
|
|
||||||
DONE:
|
|
||||||
* half-closed timeouts ?
|
|
||||||
|
|
||||||
* add support for server-side unix sockets
|
|
||||||
|
|
||||||
* server-side HTTP keepalive
|
|
||||||
=> maybe with limitation to only reuse connections that don't depend
|
|
||||||
on layer7 in a first time (just check the target).
|
|
||||||
|
|
||||||
* add support for complex pattern extraction rules :
|
|
||||||
|
|
||||||
pattern = <pattern_term>
|
|
||||||
| '{' pattern_expr '}'
|
|
||||||
|
|
||||||
pattern_expr = <pattern_term> [ <transform> ... ]
|
|
||||||
=> changed to <sample>[,<conv>]*
|
|
||||||
|
|
||||||
* support loading data sets from files
|
|
||||||
* present/not present (eg: netmasks)
|
|
||||||
* pattern conversion per prefixes. Eg: convert src IP to country.
|
|
||||||
=> maps
|
|
||||||
|
|
||||||
* what to do with data after a POST and how to detect some data were
|
|
||||||
received when responding ? In theory we should read everything because
|
|
||||||
the TCP stack does not notify us that the FIN was acked. In practice,
|
|
||||||
reading just before closing should be enough. Right now we simply read
|
|
||||||
whatever comes after the POST.
|
|
||||||
=> switch the connection to a "drain" state, where it monitors its
|
|
||||||
output queue on each I/O and where it can be stolen if fds are
|
|
||||||
missing.
|
|
||||||
|
|
||||||
* tcp-request {connection|session} expect-proxy {L4|L5} if ...
|
|
||||||
|
|
||||||
* rename L4 acls as L6 ACLs when some content is involved
|
|
||||||
|
|
||||||
* add new L4 ACL checks immediately after accept, before even allocating the
|
|
||||||
buffers ("connection {accept|reject|delay|freeze} {if|unless}").
|
|
||||||
|
|
||||||
* make new patterns available based on stickiness matching :
|
|
||||||
* number of entries in table for the matched pattern
|
|
||||||
* same after having increased the match counter
|
|
||||||
|
|
||||||
* add support for concurrency match in tables
|
|
||||||
* just like stickiness, but counted per session (or request), increased
|
|
||||||
on first match and decreased at end of request or connection. This
|
|
||||||
requires that the session has a list of matched terms that must be
|
|
||||||
released at the end.
|
|
||||||
|
|
||||||
* http_req_first ACL
|
|
||||||
|
|
||||||
* expirable cookies + "preserve"
|
|
||||||
|
|
||||||
* ECV, LDAPv3 & MySQL checks
|
|
||||||
|
|
||||||
* configurable check buffer size
|
|
||||||
|
|
||||||
* stats + ON/OFF
|
|
||||||
|
|
||||||
* halog: sort by URL
|
|
||||||
|
|
||||||
* "PROXY" protocol
|
|
||||||
|
|
||||||
* add support for client-side unix sockets
|
|
||||||
|
|
||||||
* hash: rehash non-consistent hashes with chash() for more randomness.
|
|
||||||
|
|
||||||
* add an error ID in captures to ease new error detection for scripts.
|
|
||||||
|
|
||||||
* try to remove srv==NULL internally and assign a dummy server to each backend
|
|
||||||
for dispatch, http_proxy and transparent modes. => done differently with the
|
|
||||||
target descriptors. The dummy server code exists in the "dummysrv" branch
|
|
||||||
which will die since it does not make sense anymore.
|
|
||||||
|
|
||||||
* ACL to report number of used entries in a table
|
|
||||||
|
|
||||||
* automatically compute fullconn for backends : by default, set it to
|
|
||||||
10% of the sum of the maxconn of all unique frontends which reference
|
|
||||||
it via use_backend, default_backend or that are in the same listen.
|
|
||||||
|
|
||||||
* count number of monitor requests on frontends, that's the only way
|
|
||||||
to explain the possible huge difference between frontend and backend
|
|
||||||
sessions.
|
|
||||||
|
|
||||||
* assign a nice priority based on ACLs.
|
|
||||||
|
|
||||||
* set-log-level if <acl> (front/back)
|
|
||||||
|
|
||||||
* fix "PR--" flags when accessing stats
|
|
||||||
|
|
||||||
* merged ACL/fetches
|
|
||||||
|
|
||||||
* use_server ... if ...
|
|
||||||
|
|
||||||
* ability to kill an arbitrary session from the command line. Put a "kill now"
|
|
||||||
flag in every session which preempts any other processing and wake the
|
|
||||||
session up.
|
|
||||||
|
|
||||||
* add a last activity date for each server (req/resp) that will be
|
|
||||||
displayed in the stats. It will be useful with soft stop.
|
|
||||||
|
|
||||||
* compression : to be fixed
|
|
||||||
|
|
||||||
* ACL feeding via the UNIX socket
|
|
||||||
|
|
||||||
* lookup tables (eg: map IP to country)
|
|
||||||
|
|
||||||
1.6 (will probably change anyway) :
|
|
||||||
- wait on resource (time, mem, CPU, socket, buffers, server's conn, server's rate, ...)
|
- wait on resource (time, mem, CPU, socket, buffers, server's conn, server's rate, ...)
|
||||||
|
|
||||||
- bandwidth limits
|
- bandwidth limits
|
||||||
@ -174,7 +67,7 @@ DONE:
|
|||||||
to maintenance mode => requires a per-server session list and the change
|
to maintenance mode => requires a per-server session list and the change
|
||||||
above.
|
above.
|
||||||
|
|
||||||
Old, maybe obsolete points
|
Old, maybe obsolete points :
|
||||||
- clarify licence by adding a 'MODULE_LICENCE("GPL")' or something equivalent.
|
- clarify licence by adding a 'MODULE_LICENCE("GPL")' or something equivalent.
|
||||||
|
|
||||||
- 3 memory models : failsafe (prealloc), normal (current), optimal (alloc on
|
- 3 memory models : failsafe (prealloc), normal (current), optimal (alloc on
|
||||||
@ -197,20 +90,35 @@ Old, maybe obsolete points
|
|||||||
|
|
||||||
Unsorted :
|
Unsorted :
|
||||||
- outgoing log load-balancing (round-robin or hash among multiple servers)
|
- outgoing log load-balancing (round-robin or hash among multiple servers)
|
||||||
|
|
||||||
- internal socket for "server XXX frontend:name"
|
- internal socket for "server XXX frontend:name"
|
||||||
|
|
||||||
- HTTP/2.0
|
- HTTP/2.0
|
||||||
|
|
||||||
- DNS requests on health checks
|
- DNS requests on health checks
|
||||||
|
|
||||||
- XML inspection (content-switching for SOAP requests)
|
- XML inspection (content-switching for SOAP requests)
|
||||||
|
|
||||||
- sync all stick-tables data, not just serverid.
|
- sync all stick-tables data, not just serverid.
|
||||||
|
|
||||||
- request, session and user variables
|
- request, session and user variables
|
||||||
|
|
||||||
- random cookie generator
|
- random cookie generator
|
||||||
|
|
||||||
- external checker
|
- external checker
|
||||||
|
|
||||||
- fastcgi to servers
|
- fastcgi to servers
|
||||||
|
|
||||||
- hot config reload
|
- hot config reload
|
||||||
|
|
||||||
- RAM-based cache for small files
|
- RAM-based cache for small files
|
||||||
|
|
||||||
- RHI - BGP
|
- RHI - BGP
|
||||||
|
|
||||||
- telnet/SSH cli
|
- telnet/SSH cli
|
||||||
|
|
||||||
- dynamic memory allocation
|
- dynamic memory allocation
|
||||||
|
|
||||||
- dynamic weights based on check response headers and traffic response time
|
- dynamic weights based on check response headers and traffic response time
|
||||||
|
|
||||||
- various kernel-level acceleration (multi-accept, ssplice, epoll2...)
|
- various kernel-level acceleration (multi-accept, ssplice, epoll2...)
|
||||||
- "show stats detail" with a different output format and encoding of quotes
|
|
||||||
|
Loading…
Reference in New Issue
Block a user