Hi,

 

i changed the haproxy script so it makes use of haproxys ACL feature. I need to 
have subdomains for every new app a user creates but always the same root 
domain. The output looks like this:

 

frontend http-in

  bind *:80

  mode http

  option httplog

  option dontlognull

  option forwardfor

  option http-server-close

    acl host_bla1 hdr_beg(host) -i bla1.dev.example.io

    use_backend bla1 if host_bla1

    acl host_easy hdr_beg(host) -i easy.dev.example.io

    use_backend easy if host_easy

    acl host_nodecellar hdr_beg(host) -i nodecellar.dev.example.io

    use_backend nodecellar if host_nodecellar

 

backend bla1

  option httpclose

  option forwardfor

  mode http

  balance leastconn

  server bla1-1 MesosSlave01:31439 check

 

backend easy

  option httpclose

  option forwardfor

  mode http

  balance leastconn

  server easy-2 MesosSlave02:31002 check

  server easy-1 MesosSlave02:31123 check

 

backend nodecellar

  option httpclose

  option forwardfor

  mode http

  balance leastconn

  server nodecellar-1 MesosSlave01:31660 check

 

 

Still fine tuning this but right now it does what i need.

 

 

Best,

 

Mike

 

Von: Bart Spaans [mailto:[email protected]] 
Gesendet: Dienstag, 9. September 2014 17:30
An: [email protected]
Betreff: Re: Frontend loadbalancer configuration for long running tasks

 

Hi Ankur, 

 

It doesn't cater for that at the moment, but it should be fairly easy to modify 
the HAProxy configuration generation - have a look at haproxy.go.

 

A setup we have been using is to have applications expose unique ports, have 
HAProxy as an internal load balancer and then have a public facing load 
balancer in front of that to map from port 80/443 to the internal port, but 
YMMV.

 

Cheers, 

Bart

 

On 9 September 2014 17:11, Ankur Chauhan <[email protected]> wrote:

How does mesos_service_discovery handle the case of multiple applications 
listening to the same set of ports but differing only in the domain. 


Sent from my iPhone


On Sep 9, 2014, at 4:45 AM, Bart Spaans <[email protected]> wrote:

Hi Ankur, 

 

Another solution that might fit your use case can be found at 
https://github.com/opencredo/mesos_service_discovery

 

The main advantage of this project is that it doesn't depend on DNS, so it 
avoids issues with expiring TTLs and application caches, which can be 
problematic. 

 

Cheers, 

Bart

 

On 9 September 2014 10:52, Ankur Chauhan <[email protected]> wrote:

Hi all,

 

(Please let me know if this is not the correct place for such a question).

I have been looking at mesos + marathon + haproxy as a way of deploying long 
running web applications. Mesos coupled with marathon's /tasks api gives me all 
the information needed to get a haproxy configured and load balancing all the 
tasks but it seems a little too simplistic. 

 

I was wondering if there are other projects or if others could share how they 
configure/reconfigure their loadbalancers when new tasks come alive. 

 

Just to make things a little more concrete consider the following use case:

 

There are two web applications that are running as tasks on mesos: 

1. webapp1 (http + https) on app1.domain.com

2. webapp2 (http + https) on app2.domain.com

 

We want to configure a HAProxy server that routes traffic from users (:80 and 
:443) and loadbalances it correctly onto the correct set of tasks. Obviously 
there is some haproxy configuration happening here but i am interested in 
finding out what others have been doing in similar cases before I go around 
building yet another haproxy reconfigure and reload script.

 

-- Ankur





 

-- 

Bart Spaans
Consultant
OpenCredo Ltd -- Excellence in Enterprise Application Development

Mobile: +44(0) 7453 777 558

Registered Office:  5-11 Lavington St., London SE1 0NZ
Registered in UK. No 3943999

If you have received this e-mail in error please accept our apologies, destroy 
it immediately and it would be greatly appreciated if you notified the sender.  
It is your responsibility to protect your system from viruses and any other 
harmful code or device.  We try to eliminate them from e-mails and attachments; 
but we accept no liability for any that remain. We may monitor or access any or 
all e-mails sent to us.





 

-- 

Bart Spaans
Consultant
OpenCredo Ltd -- Excellence in Enterprise Application Development

Mobile: +44(0) 7453 777 558

Registered Office:  5-11 Lavington St., London SE1 0NZ
Registered in UK. No 3943999

If you have received this e-mail in error please accept our apologies, destroy 
it immediately and it would be greatly appreciated if you notified the sender.  
It is your responsibility to protect your system from viruses and any other 
harmful code or device.  We try to eliminate them from e-mails and attachments; 
but we accept no liability for any that remain. We may monitor or access any or 
all e-mails sent to us.

Reply via email to