Ich weiß nicht, ob ich es unbedingt vermeiden würde, aber ich kann mir ein paar Gründe vorstellen, warum ich es vielleicht nicht für einen High-Throughput-, Low-Latency-Service wählen würde. Erstens muss man sich mit dem gesamten Web-Stack befassen, um seine Nachricht an den Service zu übermitteln. Dies könnte eine Reihe unnötiger Ebenen und Dienste einführen, die Nachrichten verzögern würden. Ein benutzerdefinierter Dienst muss nur die Protokollschichten unterstützen, die vom Dienst selbst benötigt werden.
Zweitens, es sei denn, Ihr Dienst ist der einzige Dienst, der auf dem Web-Server gehostet wird, konkurrieren Sie mit anderen Anfragen um die Bedienung Ihrer Nachrichten. Auch wenn ein benutzerdefinierter Endpunkt für Ihren Dienst nicht alle Ressourcenkonflikte lösen mag, müssen Sie zumindest nicht mit anderen Diensten um den Zugriff auf Ihren Endpunkt konkurrieren.
Drittens muss ein benutzerdefiniertes Protokoll nur die tatsächlichen dienstbezogenen Protokollinformationen unterstützen und kann zu kleineren Paketgrößen führen, da Sie die zusätzliche HTTP-Protokollüberlastung nicht unterstützen müssen. Dies würde insbesondere Protokolle beeinflussen, die kleine Nachrichten austauschen, da die Header-Informationen einen größeren Anteil an der Nachrichtengröße darstellen würden.