`
mryufeng
  • 浏览: 969820 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

HAProxy作者今年疯了似的在开发, 添加新的feature, 引入bug, 修复bug. 不过东...

阅读更多
HAProxy作者今年疯了似的在开发, 添加新的feature, 引入bug, 修复bug. 不过东西倒是越作越好,谢谢Willy Tarreau.


ChangeLog :
===========

2007/05/14 : 1.3.11.3
- pre-initialize timeouts with tv_eternity during parsing

2007/05/14 : 1.3.11.2
- fixed broken health-checks since switch to timeval

2007/05/14 : 1.3.11.1
- fixed ev_kqueue which was forgotten during the switch to timeval
- allowed null timeouts for past events in select

2007/05/14 : 1.3.11
- fixed ev_sepoll again by rewriting the state machine
- switched all timeouts to timevals instead of milliseconds
- improved memory management using mempools v2.
- several minor optimizations

2007/05/09 : 1.3.10.2
- fixed build on OpenBSD (missing types.h)

2007/05/09 : 1.3.10.1
- fixed sepoll transition matrix (two states were missing)

2007/05/08 : 1.3.10
- several fixes in ev_sepoll
- fixed some expiration dates on some tasks
- fixed a bug in connection establishment detection due to speculative I/O
- fixed rare bug occuring on TCP with early close (reported by Andy Smith)
- implemented URI hashing algorithm (Guillaume Dallaire)
- implemented SMTP health checks (Peter van Dijk)
- replaced the rbtree with ul2tree from old scheduler project
- new framework for generic ACL support
- added the 'acl' and 'block' keywords to the config language
- added several ACL criteria and matches (IP, port, URI, ...)
- cleaned up and better modularization for some time functions
- fixed list macros
- fixed useless memory allocation in str2net()
- store the original destination address in the session

2007/04/15 : 1.3.9
- modularized the polling mechanisms and use function pointers instead
of macros at many places
- implemented support for FreeBSD's kqueue() polling mechanism
- fixed a warning on OpenBSD : MIN/MAX redefined
- change socket registration order at startup to accomodate kqueue.
- several makefile cleanups to support old shells
- fix build with limits.h once for all
- ev_epoll: do not rely on fd_sets anymore, use changes stacks instead.
- fdtab now holds the results of polling
- implemented support for speculative I/O processing with epoll()
- remove useless calls to shutdown(SHUT_RD), resulting in small speed boost
- auto-registering of pollers at load time

2007/04/03 : 1.3.8.2
- rewriting either the status line or request line could crash the
process due to a pointer which ought to be reset before parsing.
- rewriting the status line in the response did not work, it caused
a 502 Bad Gateway due to an erroneous state during parsing

2007/04/01 : 1.3.8.1
- fix reqadd when no option httpclose is used.
- removed now unused fiprm and beprm from proxies
- split logs into two versions : TCP and HTTP
- added some docs about http headers storage and acls
- added a VIM script for syntax color highlighting (Bruno Michel)

2007/03/25 : 1.3.8
- fixed several bugs which might have caused a crash with bad configs
- several optimizations in header processing
- many progresses towards transaction-based processing
- option forwardfor may be used in frontends
- completed HTTP response processing
- some code refactoring between request and response processing
- new HTTP header manipulation functions
- optimizations on the recv() patch to reduce CPU usage under very
high data rates.
- more user-friendly help about the 'usesrc' keyword (CTTPROXY)
- username/groupname support from Marcus Rueckert
- added the "except" keyword to the "forwardfor" option (Bryan German)
- support for health-checks on other addresses (Fabrice Dulaunoy)
- makefile for MacOS 10.4 / Darwin (Dan Zinngrabe)
- do not insert "Connection: close" in HTTP/1.0 messages

2007/01/26 : 1.3.7
- fix critical bug introduced with 1.3.6 : an empty request header
may lead to a crash due to missing pointer assignment
- hdr_idx might be left uninitialized in debug mode
- fixed build on FreeBSD due to missing fd_set declaration

2007/01/22 : 1.3.6.1
- change in the header chaining broke cookies and authentication

2007/01/22 : 1.3.6
- stats now support the HEAD method too
- extracted http request from the session
- huge rework of the HTTP parser which is now a 28-state FSM.
- linux-style likely/unlikely macros for optimization hints
- do not create a server socket when there's no server
- imported lots of docs

2007/01/07 : 1.3.5
- stats: swap color sets for active and backup servers
- try to guess server check port when unset
- added complete support and doc for TCP Splicing
- replace the wait-queue linked list with an rbtree.
- a few bugfixes and cleanups

2007/01/02 : 1.3.4
- support for cttproxy on the server side to present the client
address to the server.
- added support for SO_REUSEPORT on Linux (needs kernel patch)
- new RFC2616-compliant HTTP request parser with header indexing
- split proxies in frontends, rulesets and backends
- implemented the 'req[i]setbe' to select a backend depending
on the contents
- added the 'default_backend' keyword to select a default BE.
- new stats page featuring FEs and BEs + bytes in both dirs
- improved log format to indicate the backend and the time in ms.
- lots of cleanups
分享到:
评论
3 楼 mryufeng 2009-02-04  
法国人做事情比较烂漫 代码的可读性比较差 维护起来也比较困难 不过水平倒是挺高的 willy是内核net部分的维护者!
2 楼 allenny 2009-02-01  
一天之内发4个版本,看来控制的不好啊
1 楼 mryufeng 2007-10-10  
新版本的haproxy确实比较不错了 推荐使用

相关推荐

Global site tag (gtag.js) - Google Analytics