Re: using haproxy with tcp as a router

2013-11-12 Thread Tim Prepscius
Thank you for this response.

-tim

On 11/12/13, Baptiste  wrote:
> Hi Tim,
>
> Solution 1 can't work as you want it.
> HAProxy can look in the payload for an ID, it could match it in a
> stick table you would have to fill up, but it can't forward the
> payload on an already established TCP connection.
>
> Solution 2 may work, since HAProxy only analyzes HTTP headers. It does
> not care to what happens in the body.
>
> Baptiste
>
>
> On Mon, Nov 11, 2013 at 9:25 PM, Tim Prepscius 
> wrote:
>> I'm wondering if I can use haproxy for my problem:
>>
>> Is it possible for haproxy to:
>> 1. read the first line of a tcp connection
>> 2. in that line will be an ID.
>> 3a. use the ID to lookup in a mem db what server to forward the TCP
>> connection to.
>> 3b. use the ID to lookup in a mem db what server to forward data to
>> through an existing TCP connection.  (1 connection per server to ha
>> proxy)
>>
>>
>> Or:
>>
>> Is it possible for haproxy to:
>> 1.  read an http request for a http connection.
>> 2.  determine what server to foward to based on the page requested.
>> 3.  then allow generic tcp data (both upstream/downstream) on that
>> connection (after the headers).
>>
>>
>> I'm also entertaining the possibility of sticking a load balancer in
>> front of multiple instances of a custom router process I create.  So
>> that the "header inspection" doesn't need to take place on the load
>> balancer.
>>
>>
>>
>> I've also described the problem in more detail here:
>> http://stackoverflow.com/questions/19914209/a-load-balancer-for-tcp-with-an-id-to-server-lookup-similar-to-a-chat-room-load
>>
>> -tim
>>
>



Re: using haproxy with tcp as a router

2013-11-12 Thread Baptiste
Hi Tim,

Solution 1 can't work as you want it.
HAProxy can look in the payload for an ID, it could match it in a
stick table you would have to fill up, but it can't forward the
payload on an already established TCP connection.

Solution 2 may work, since HAProxy only analyzes HTTP headers. It does
not care to what happens in the body.

Baptiste


On Mon, Nov 11, 2013 at 9:25 PM, Tim Prepscius  wrote:
> I'm wondering if I can use haproxy for my problem:
>
> Is it possible for haproxy to:
> 1. read the first line of a tcp connection
> 2. in that line will be an ID.
> 3a. use the ID to lookup in a mem db what server to forward the TCP
> connection to.
> 3b. use the ID to lookup in a mem db what server to forward data to
> through an existing TCP connection.  (1 connection per server to ha
> proxy)
>
>
> Or:
>
> Is it possible for haproxy to:
> 1.  read an http request for a http connection.
> 2.  determine what server to foward to based on the page requested.
> 3.  then allow generic tcp data (both upstream/downstream) on that
> connection (after the headers).
>
>
> I'm also entertaining the possibility of sticking a load balancer in
> front of multiple instances of a custom router process I create.  So
> that the "header inspection" doesn't need to take place on the load
> balancer.
>
>
>
> I've also described the problem in more detail here:
> http://stackoverflow.com/questions/19914209/a-load-balancer-for-tcp-with-an-id-to-server-lookup-similar-to-a-chat-room-load
>
> -tim
>



using haproxy with tcp as a router

2013-11-11 Thread Tim Prepscius
I'm wondering if I can use haproxy for my problem:

Is it possible for haproxy to:
1. read the first line of a tcp connection
2. in that line will be an ID.
3a. use the ID to lookup in a mem db what server to forward the TCP
connection to.
3b. use the ID to lookup in a mem db what server to forward data to
through an existing TCP connection.  (1 connection per server to ha
proxy)


Or:

Is it possible for haproxy to:
1.  read an http request for a http connection.
2.  determine what server to foward to based on the page requested.
3.  then allow generic tcp data (both upstream/downstream) on that
connection (after the headers).


I'm also entertaining the possibility of sticking a load balancer in
front of multiple instances of a custom router process I create.  So
that the "header inspection" doesn't need to take place on the load
balancer.



I've also described the problem in more detail here:
http://stackoverflow.com/questions/19914209/a-load-balancer-for-tcp-with-an-id-to-server-lookup-similar-to-a-chat-room-load

-tim