?

Log in

No account? Create an account
monobal 0.2 - brad's life — LiveJournal [entries|archive|friends|userinfo]
Brad Fitzpatrick

[ website | bradfitz.com ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

monobal 0.2 [Dec. 30th, 2003|01:37 am]
Brad Fitzpatrick
If anybody wants my very immature load balancer written in C#:

http://www.bradfitz.com/share/monobal/monobal-0.2.tar.gz

Now featuring an HTTP header class which parses headers, replaces headers, retrieves headers, etc.

So the load balancer now replaces/sends along the X-Forwarded-For header to the back end, and always does Connection: close, and always does HTTP/1.0 to the backend. (wanting to avoid dealing with chunking for now)

Things to do:

-- support POSTs (only GET works now)
-- limit max incoming header length
-- limit global proxy to client buffer size
-- limit max pending connections
-- limit per-connection proxy to client buffer size
-- wait for bugs.ximian.com and make sure some variation of my socket patch gets committed
-- make the load balancer be more of a usable object itself, letting clients set its listening port, backend node selector manager, limits, etc.
-- make a front-end which parses command-line args and inits the load balancer.
-- write a node selector to listen to LJ's broadcast messages and do random weighted selections.
-- write some stupid node selector subclasses as demos
-- proper C#-style docs
-- timeouts everywhere
-- management/stats port.
-- tons of testing
-- put it in limited production somehow and make it take a beating. :-)
LinkReply

Comments:
[User Picture]From: neem
2003-12-30 03:54 am (UTC)
What are you using to learn C#? Just some online documentation or a book?
(Reply) (Thread)
[User Picture]From: brad
2003-12-30 09:07 am (UTC)
(Reply) (Parent) (Thread)
From: ex_kalyan
2003-12-30 08:01 am (UTC)
Why in C# ?
(Reply) (Thread)
[User Picture]From: brad
2003-12-30 09:07 am (UTC)
To learn it. But it's also a very cool language.
(Reply) (Parent) (Thread)
From: ex_kalyan
2003-12-30 09:23 am (UTC)
good enough to make LJ run on it ? I am just curious.. I know the framework looks nice but does it scale ? high performance ?
(Reply) (Parent) (Thread)
[User Picture]From: lisa
2003-12-30 10:15 am (UTC)
that's some to do list.
(Reply) (Thread)
[User Picture]From: taral
2003-12-30 10:54 am (UTC)
Is it HTTP 1.1 or 1.0?
(Reply) (Thread)
[User Picture]From: taral
2003-12-30 11:05 am (UTC)
Looks like HTTP 1.0. That certainly saves you a lot of grief.
(Reply) (Parent) (Thread)
[User Picture]From: brad
2003-12-30 11:06 am (UTC)
Totally.

I'll do HTTP/1.1 later, perhaps.
(Reply) (Parent) (Thread)