Note that there are some explanatory texts on larger screens.

plurals
  1. POAzure LoadBalancerProbe Responses being ignored
    primarykey
    data
    text
    <p>I have defined a custom LoadBalancerProbe for my webrole as follows</p> <p><code> &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;ServiceDefinition name="CloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2013-03.2.0"&gt; &lt;LoadBalancerProbes&gt; &lt;LoadBalancerProbe name="MyProbe" protocol="http" intervalInSeconds="15" path="/api/ping" port="80" timeoutInSeconds="30" /&gt; &lt;/LoadBalancerProbes&gt; &lt;WebRole name="TestApp" vmsize="Small"&gt; &lt;Sites&gt; &lt;Site name="Web"&gt; &lt;Bindings&gt; &lt;Binding name="Endpoint1" endpointName="Endpoint1" /&gt; &lt;/Bindings&gt; &lt;/Site&gt; &lt;/Sites&gt; &lt;Endpoints&gt; &lt;InputEndpoint name="Endpoint1" protocol="http" port="80" localPort="80" loadBalancerProbe="MyProbe"/&gt; &lt;/Endpoints&gt; &lt;Imports&gt; &lt;Import moduleName="Diagnostics" /&gt; &lt;Import moduleName="RemoteAccess" /&gt; &lt;Import moduleName="RemoteForwarder" /&gt; &lt;/Imports&gt; &lt;/WebRole&gt; &lt;/ServiceDefinition&gt; </code></p> <p>When in Azure I have 2 instances. I have enabled trace.axd and can see the load balancer calling the ping method, so that is definitely happening.</p> <p>I can also see my "503" responses (Server Unavailable) in my test app when I want my instance to appear down (I change a config setting on the instance). I can see custom HTTP Headers from the load balancer <code>X-MS-LB-MonitorStatus Down</code>.</p> <p>When I use a Curl request to access the load-balanced url, it always returns the correct results (If I have set an instance to return 503 rather than 200, it does not appear in the response results).</p> <p>When I use a browser however (in this case Chrome) I can still get results back from the instance that is supposed to be down (i.e. the instance was available, I disable it, then additional calls to the load balanced url still resolve to the "disabled" instance).</p> <p>I can confirm the actual instances that resolved each request using trace.axd information</p> <p>I'm struggling to believe that azure is doing load balancing properly here.</p> <ol> <li>Why does the browser continue to be able to access an instance that is supposedly out of rotation? </li> <li>Why does curl "always get it right"?</li> </ol>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload