mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-06 15:17:01 +02:00
[DEV] open new 1.5 development branch
This new branch is based on 1.4.6, which 1.5-dev0 is 100% equivalent to. The roadmap has been updated.
This commit is contained in:
parent
5fdd77da56
commit
21475e3215
@ -1,6 +1,9 @@
|
|||||||
ChangeLog :
|
ChangeLog :
|
||||||
===========
|
===========
|
||||||
|
|
||||||
|
2010/05/23 : 1.5-dev0
|
||||||
|
- exact copy of 1.4.6
|
||||||
|
|
||||||
2010/05/16 : 1.4.6
|
2010/05/16 : 1.4.6
|
||||||
- [BUILD] ebtree: update to v6.0.1 to remove references to dprintf()
|
- [BUILD] ebtree: update to v6.0.1 to remove references to dprintf()
|
||||||
- [CLEANUP] acl: make use of eb_is_empty() instead of open coding the tree's emptiness test
|
- [CLEANUP] acl: make use of eb_is_empty() instead of open coding the tree's emptiness test
|
||||||
|
155
ROADMAP
155
ROADMAP
@ -1,112 +1,99 @@
|
|||||||
'+' = done, '-' = todo, '*' = done except doc
|
Medium-long term roadmap - 2010/04/10
|
||||||
|
|
||||||
1.2.12 :
|
Legend: '+' = done, '-' = todo, '*' = done except doc
|
||||||
+ weighted RR/SH
|
|
||||||
|
|
||||||
1.2.13 :
|
1.5 (ETA 2010/12/31) :
|
||||||
+ maxconn
|
- server-side HTTP keepalive
|
||||||
+ queueing
|
|
||||||
|
|
||||||
1.2.14 :
|
- return-html code xxx [ file "xxx" | text "xxx" ] if <acl>
|
||||||
+ HTML status page
|
|
||||||
|
|
||||||
stats enable
|
- return-raw [ file "xxx" | text "xxx" ] if <acl>
|
||||||
stats uri /?stats
|
|
||||||
stats realm w.ods.org\ statistics
|
|
||||||
stats auth user1:pass1
|
|
||||||
stats auth user2:pass2
|
|
||||||
stats auth user3:pass3
|
|
||||||
stats scope <px_id> | '.'
|
|
||||||
|
|
||||||
+ allow server-less proxies (for stats)
|
- add support for client-side and server-side unix sockets
|
||||||
|
|
||||||
- separate timeout controls
|
- try to remove srv==NULL internally and assign a dummy server to each backend
|
||||||
|
for dispatch, http_proxy and transparent modes.
|
||||||
|
|
||||||
+ option 'abortonclose' : if the session is queued or being connecting
|
- rename L4 acls as L6 ACLs when some content is involved
|
||||||
to the server, and the client sends a shutdown(), then decide to abort
|
|
||||||
the session early because in most situations, this will be caused by
|
|
||||||
a client hitting the 'Stop' button, so there's no reason to overload
|
|
||||||
the servers with unservable requests. However, this is not HTTP compliant
|
|
||||||
and might cause little trouble to some very specific clients used to
|
|
||||||
close immediately after sending the request (no support for KA, which ones?)
|
|
||||||
|
|
||||||
+ minconn : makes the server's maxconn dynamic, which will be computed as a
|
- add new L4 ACL checks immediately after accept, before even allocating the
|
||||||
ratio of the proxy's sessions :
|
buffers ("connection {accept|reject|delay|freeze} {if|unless}").
|
||||||
srv->effective_maxconn =
|
|
||||||
max(srv->maxconn * px->nbsess / px->maxconn, srv->minconn)
|
|
||||||
|
|
||||||
1.2.15 :
|
- implement support for "connection freeze" after accept. A list of frozen
|
||||||
+ monitor-uri : specify an URI for which we will always return 'HTTP/1.0 200'
|
connections should be maintained so that it is possible to recycle them
|
||||||
and never forward nor log it.
|
when new file descriptors are required.
|
||||||
|
|
||||||
+ option ssl-hello-chk : send SSLv3 client hello messages to check the servers
|
- support for time-ordered priority queues with ability to add an offset
|
||||||
|
based on request matching. Each session will have one ebtree node to be
|
||||||
|
attached to whatever queue the session is waiting in.
|
||||||
|
|
||||||
1.3 :
|
- assign a nice priority based on ACLs.
|
||||||
- remove unused STATTIME
|
|
||||||
|
|
||||||
- reference all the include files that must be created, possibly under subdirs :
|
- pattern extraction is needed for ACLs and stickiness. It would work like
|
||||||
|
this :
|
||||||
|
|
||||||
- acl.h => more general ACL work
|
acl <name> <pattern> [-i] <values>...
|
||||||
- appcook.h => appsession-related cookies
|
|
||||||
- backend.h => back-end part of the PR_O_* + backend definitions
|
All ACL fetch method currently available would be transformed into pattern
|
||||||
- buffers.h => buffer management relying on memory.h
|
extraction methods. That way we could stick on hdr(x-forwarded-for) or use
|
||||||
- capture.h => header and cookie capture
|
source 0.0.0.0 usesrc <pattern> (such as "hdr_ip(headername)"). Note that
|
||||||
- cfgparse.h => configuration parser
|
ACLs sometimes need iterative matching/extraction.
|
||||||
- checks.h => health checks
|
|
||||||
- clireq.h => the client side "request" part of the current sessions.
|
- add support for complex pattern extraction rules :
|
||||||
- compat.h => compatibility with other OSes (TCP_NODELAY, ...)
|
|
||||||
- config.h => config parameters, renamed CONFIG_HAP_*, includes defaults.h
|
pattern = <pattern_term>
|
||||||
- controls.h => SN_CACHEABLE, ...
|
| '{' pattern_expr '}'
|
||||||
- cookies.h => definitions related to cookie management + SN_SCK_*
|
|
||||||
- defaults.h => many default values, might disappear soon after cleanup
|
pattern_expr = <pattern_term> [ <transform> ... ]
|
||||||
- frontend.h => front-end part of the PR_O_* + client definitions + listeners
|
|
||||||
- global.h => shared global variables
|
- support loading data sets from files
|
||||||
- http.h => HTTP state definitions and transitions
|
+ present/not present (eg: netmasks)
|
||||||
- httperr.{hc} => HTTP return codes
|
- pattern conversion per prefixes. Eg: convert src IP to country.
|
||||||
- libtask.h => task scheduler
|
|
||||||
- libtime.h => time-related definitions
|
- make new patterns available based on stickiness matching :
|
||||||
- loadbal.h => load balancing algorithms
|
- number of entries in table for the matched pattern
|
||||||
- log.h => log definitions
|
- same after having increased the match counter
|
||||||
- memory.h => pools
|
|
||||||
- polling.h => definitions of select(), poll(), INTBITS, ...
|
- add support for concurrency match in tables
|
||||||
- queue.h => queue management
|
- just like stickiness, but counted per session (or request), increased
|
||||||
- regex.h => filtering
|
on first match and decreased at end of request or connection. This
|
||||||
- servers.h => servers definitions (SRV_*, states, ...)
|
requires that the session has a list of matched terms that must be
|
||||||
- fd.h => FD_ST* (add FD_DGRAM), RES_*, socket states, etc...
|
released at the end.
|
||||||
- srvreq.h => the server side "request" part of the current sessions.
|
|
||||||
- standard.h => general purpose macros and defines (eg: MIN/MAX, ...)
|
1.6 (will probably change anyway) :
|
||||||
- startup.h => MODE_*
|
- wait on resource (mem, socket, server's conn, server's rate, ...)
|
||||||
- tuning.h => platform-specific tuning parameters
|
|
||||||
|
- bandwidth limits
|
||||||
|
|
||||||
|
- create internal services and make stats, CLI, etc... part of that.
|
||||||
|
|
||||||
|
- use_server ... if ...
|
||||||
|
|
||||||
|
- buddy servers to build defined lists of failovers. Detect loops during
|
||||||
|
the config check.
|
||||||
|
|
||||||
|
server XXX buddy YYY
|
||||||
|
server YYY # may replace XXX when XXX fails
|
||||||
|
|
||||||
|
- spare servers : servers which are used in LB only when a minimum farm
|
||||||
|
weight threshold is not satisfied anymore. Useful for inter-site LB with
|
||||||
|
local pref by default.
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
- handle half-closed connections better (cli/srv would not distinguish
|
|
||||||
DATA/SHUTR/SHUTW, it would be a session flag which would tell shutr/shutw).
|
|
||||||
Check how it got changed in httpterm.
|
|
||||||
|
|
||||||
- 3 memory models : failsafe (prealloc), normal (current), optimal (alloc on
|
- 3 memory models : failsafe (prealloc), normal (current), optimal (alloc on
|
||||||
demand)
|
demand)
|
||||||
|
|
||||||
- wait queues replaced for priority-based trees
|
- ability to assign a task priority based on L7 matching
|
||||||
|
|
||||||
- ability to assign a prio based on L7 matching
|
- implement support for event-triggerred epoll()
|
||||||
|
|
||||||
- prio-based O(1) scheduler
|
|
||||||
|
|
||||||
- maxconn reserve for VIP/admins
|
|
||||||
|
|
||||||
- verify if it would be worth implementing an epoll_ctl_batch() for Linux
|
- verify if it would be worth implementing an epoll_ctl_batch() for Linux
|
||||||
|
|
||||||
- balance LC/WLC (patch available)
|
- option minservers XXX : activates some spare servers when active servers
|
||||||
|
|
||||||
- option minservers XXX : activates some backup servers when active servers
|
|
||||||
are insufficient
|
are insufficient
|
||||||
|
|
||||||
- monitor minservers XXX : monitor-net and monitor-uri could report a failure
|
|
||||||
when the number of active servers is below this threshold.
|
|
||||||
|
|
||||||
- option smtp-chk : use SMTP health checks (avoid logs if possible)
|
|
||||||
|
|
||||||
- new keyword 'check' : check http xxx, check smtp xxx, check ssl-hello
|
- new keyword 'check' : check http xxx, check smtp xxx, check ssl-hello
|
||||||
|
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
HAProxy
|
HAProxy
|
||||||
Configuration Manual
|
Configuration Manual
|
||||||
----------------------
|
----------------------
|
||||||
version 1.4.6
|
version 1.5
|
||||||
willy tarreau
|
willy tarreau
|
||||||
2010/05/16
|
2010/05/23
|
||||||
|
|
||||||
|
|
||||||
This document covers the configuration language as implemented in the version
|
This document covers the configuration language as implemented in the version
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
Summary: HA-Proxy is a TCP/HTTP reverse proxy for high availability environments
|
Summary: HA-Proxy is a TCP/HTTP reverse proxy for high availability environments
|
||||||
Name: haproxy
|
Name: haproxy
|
||||||
Version: 1.4.6
|
Version: 1.5-dev0
|
||||||
Release: 1
|
Release: 1
|
||||||
License: GPL
|
License: GPL
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
@ -76,6 +76,9 @@ fi
|
|||||||
%attr(0755,root,root) %config %{_sysconfdir}/rc.d/init.d/%{name}
|
%attr(0755,root,root) %config %{_sysconfdir}/rc.d/init.d/%{name}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun May 23 2010 Willy Tarreau <w@1wt.eu>
|
||||||
|
- updated to 1.5-dev0
|
||||||
|
|
||||||
* Sun May 16 2010 Willy Tarreau <w@1wt.eu>
|
* Sun May 16 2010 Willy Tarreau <w@1wt.eu>
|
||||||
- updated to 1.4.6
|
- updated to 1.4.6
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user