Vad är Azure Relay?
Med Azure Relay-tjänsten kan du på ett säkert sätt visa tjänster som körs i företagets nätverk för det offentliga molnet. Du kan göra det utan att behöva öppna en port i brandväggen eller göra störande ändringar i företagets nätverksinfrastruktur.
Relay-tjänsten har stöd för följande scenarier mellan lokala tjänster och program som körs i molnet eller i en annan lokal miljö.
- Traditionell enkelriktad trafik för begäranden/svar och peer-to-peer-kommunikation
- Händelsedistribution på Internet-skala för att möjliggöra scenarier för publicering/prenumeration
- Dubbelriktad och obuffrad socketkommunikation över nätverksgränser
Azure Relay skiljer sig från integreringstekniker på nätverksnivå såsom VPN. Ett Azure Relay kan få omfång till en enskild programslutpunkt på en enda dator. VPN-teknik är mycket mer inkräktande eftersom den förlitar sig på att ändra nätverksmiljön.
Grundläggande flöde
I det vidarebefordrade dataöverföringsmönstret omfattar de grundläggande stegen:
- En lokal tjänst ansluter till den vidarebefordrande tjänsten via en utgående port.
- Den skapar en dubbelriktad socket för kommunikation som är kopplad till en viss adress.
- Klienten kan sedan kommunicera med den lokala tjänsten genom att skicka trafik till den vidarebefordrande tjänsten som riktar sig mot den adressen.
- Den vidarebefordrande tjänsten vidarebefordrar sedan data till den lokala tjänsten via den dubbelriktade socket som är dedikerad för klienten. Klienten behöver inte en direktanslutning till den lokala tjänsten. Den behöver inte känna till tjänstens plats. Och den lokala tjänsten behöver inte några ingående portar öppna i brandväggen.
Funktioner
Azure Relay erbjuder två funktioner:
- Hybridanslutningar – Använder den öppna standarden Web Sockets som ger stöd för scenarier med flera plattformar.
- WCF-reläer – Använder Windows Communication Foundation (WCF) för att aktivera RPC-anrop. WCF Relay är den äldre Relay-tjänsten som många kunder redan använder med sina WCF-programmeringsmodeller.
Hybridanslutningar
Funktionen Hybridanslutningar i Azure Relay är en säker utveckling med öppet protokoll av de Relay-funktioner som fanns tidigare. Du kan använda den på valfri plattform och på valfritt språk. Funktionen Hybridanslutningar i Azure Relay är baserad på protokollen HTTP och WebSockets. Den gör att du kan skicka begäranden och ta emot svar via webbsocketar eller HTTP(S). Den här funktionen är kompatibel med WebSocket API i vanliga webbläsare.
Mer information om protokollet för Hybridanslutningar finns i guiden om protokollet för Hybridanslutningar. Du kan använda Hybridanslutningar med valfritt websocketbibliotek för alla körningar/språk.
Anteckning
Hybridanslutningar i Azure Relay ersätter den gamla hybridanslutningsfunktionen i BizTalk Services. Funktionen för Hybridanslutningar i BizTalk Services skapades på Azure Service Bus WCF Relay. Funktionen för Hybridanslutningar i Azure Relay kompletterar den befintliga WCF Relay-funktionen. De här två tjänstfunktionerna (WCF Relay och Hybridanslutningar) finns sida vid sida i Azure Relay-tjänsten. De delar en gemensam gateway, men är i övrigt olika implementeringar.
Information om hur du kommer igång med att använda hybridanslutningar i Azure Relay finns i följande snabbstarter:
- Hybridanslutningar – .NET WebSockets
- Hybridanslutningar – Node WebSockets
- Hybridanslutningar – .NET HTTP
- Hybridanslutningar – Nod-HTTP
Fler exempel finns i Azure Relay – hybridanslutningsexempel på GitHub.
WCF-relä
WCF Relay fungerar med det fullständiga .NET Framework (NETFX) och för WCF. Du skapar en anslutning mellan din lokala tjänst och den vidarebefordrande tjänsten med hjälp av en uppsättning ”vidarebefordrande” WCF-bindningar. I bakgrunden mappas vidarebefordringsbindningarna till nya transportbindningselement som är utformade för att skapa WCF-kanalkomponenter som integreras med Service Bus i molnet.
Information om hur du kommer igång med WCF Relay finns i följande snabbstarter:
- Exponera en lokal WCF-tjänst för en webbapp i molnet
- Göra en lokal WCF-tjänst tillgänglig för en WCF-klient utanför nätverket
- Göra en lokal WCF REST-tjänst tillgänglig för en klient utanför nätverket
Fler exempel finns i Azure Relay – WCF Relay-exempel på GitHub.
Hybridanslutningar jämfört med WCF Relay
Både Hybridanslutningar och WCF Relay tillhandahåller säker anslutning till resurser som finns i ett företagsnätverk. Användning av det ena eller andra beror på dina specifika behov, baserat på informationen i följande tabell:
WCF-relä | Hybridanslutningar | |
---|---|---|
WCF | x | |
.NET Core | x | |
.NET Framework | x | x |
JavaScript/Node.js | x | |
Standardbaserat öppet protokoll | x | |
RPC-programmeringsmodeller | x |
Arkitektur: Bearbetning av inkommande vidarebefordrade begäranden
Följande diagram visar hur inkommande reläbegäranden hanteras av Azure Relay-tjänsten när både skickande och mottagande klienter ligger utanför ett företagsnätverk.
- Den lyssnande klienten skickar en lyssningsbegäran till Azure Relay-tjänsten. Azure-lastbalanseraren dirigerar begäran till någon av gatewaynoderna.
- Azure Relay-tjänsten skapar ett relä i gatewayarkivet.
- Den skickande klienten skickar en anslutningsbegäran till den lyssnande tjänsten.
- Den gateway som tar emot begäran söker efter reläet i gatewayarkivet.
- Gatewayen vidarebefordrar anslutningsbegäran till rätt gateway som nämns i gatewayarkivet.
- Gatewayen skickar en begäran till den lyssnande klienten om att skapa en tillfällig kanal till den gatewaynod som är närmast den skickande klienten.
- Den lyssnande klienten skapar en tillfällig kanal till den gateway som är närmast den skickande klienten. Nu när anslutningen har upprättats mellan klienter via en gateway kan klienterna utbyta meddelanden med varandra.
- Gatewayen vidarebefordrar alla meddelanden från den lyssnande klienten till den sändande klienten.
- Gatewayen vidarebefordrar alla meddelanden från den skickande klienten till den lyssnande klienten.
Nästa steg
Följ en eller flera av följande snabbstarter eller se Azure Relay-exempel på GitHub.
- Hybridanslutningar
- WCF-relä
En lista över vanliga frågor och svar finns i Vanliga frågor och svar om Relay