Normalerweise erfolgt der Zugriff auf Azure Worker über Endpunkte, die in der Service-Definition definiert sind. Diese Endpunkte, bei denen es sich um TCP oder HTTP(S) handeln muss, werden durch einen Load Balancer geleitet und dann mit der tatsächlichen IP/Port der Azure-Maschinen verbunden.
Meine Anwendung würde von der Verwendung von UDP erheblich profitieren, da ich eine Verbindung von Mobilfunkgeräten aus herstelle, bei denen Bytes für die Abrechnung gezählt werden und der Overhead von SYN/ACK/FIN die 8-Byte-Pakete, die ich sende, in den Schatten stellt. Ich habe sogar erwogen, meine Daten direkt in die ICMP-Nachrichtenheader zu schreiben. Nichts davon wird jedoch vom Load Balancer unterstützt.
Ich weiß, dass Sie ping auf virtuellen Azure-Maschinen aktivieren können und sie dann anpingen können. http://weblogs.thinktecture.com/cweyer/2010/12/enabling-ping-aka-icmp-on-Windows-azure-roles.html .
Gibt es irgendetwas, das mich daran hindert, einen TCP-basierten Dienst (der über den Load Balancer bereitgestellt wird) zu verwenden, der einfach eine IP-Adresse und einen Port einer Azure-VM-Adresse ausgibt, und dann die Anwendung direkt mit diesem Worker kommunizieren zu lassen? Wenn der Worker heruntergefahren oder verschoben wird, ist meine Anwendung intelligent genug, um sich erneut mit dem TCP-Endpunkt zu verbinden und nach einem neuen Ort zum Senden von Daten zu fragen.
Funktioniert dieses Konzept, oder gibt es etwas, das einen solchen direkten Zugang verhindert?