I have two Windows VMs on which run two identical services. Service1 on port 80 and service2 on port 8080. These two VMs are in the same cloud service. I configured an internal load balancer between the VMs on port 8080. The service1 must query the service2 on port 8080 through the ILB (8080) so that requests are balanced between both machines. During the tests I found a problem, if the service2 on VM2 is interrupted, the requests coming from the VM1 to the ILB does not complete successfully, and vice versa. It would appear that the requests coming from the VM1 to the ILB are diverted to VM2 and requests from VM2 are diverted to VM1, as if a request is always crossing between them and never landing on the VM itself which originally sent the request. Is it possible to make sure that the vm1 (or vm2) requests are balanced to both machines or if the service on service2 vm2 is turned off, the balancer will send requests only to the healthy one?
You haven't mentioned a probe. If you look here, you can create a tcp or http probe which will only balance load when the server is up and responding to the probe.