Tjänstarkitektur

gäller för:SQL ServerAzure SQL Managed Instance

I det här avsnittet beskrivs de databasobjekt som anger den grundläggande designen för ett program som använder Service Broker.

Vid designtillfället anger Service Broker-program följande objekt:

  • Meddelandetyper: Definiera namnen på de meddelanden som utbyts mellan program. Du kan också ange verifiering för meddelandena.

  • Kontrakt: Ange riktning och typ av meddelanden i en viss konversation.

  • Köer: Lagra meddelanden. Den här lagringsmekanismen möjliggör asynkron kommunikation mellan tjänster. Service Broker-köer ger ytterligare fördelar, till exempel att automatiskt låsa meddelanden i samma konversationsgrupp.

  • Tjänster: Är adresserbara slutpunkter för konversationer. Service Broker-meddelanden skickas från en tjänst till en annan tjänst. En tjänst anger en kö för att lagra meddelanden och anger de kontrakt som tjänsten kan vara målet för. Ett kontrakt tillhandahåller en tjänst med en väldefinierad uppsättning meddelandetyper.

Ett Service Broker-program använder SQL Server-objekten i föregående lista för att genomföra en konversation. Alla program som kan köra Transact-SQL-instruktioner i SQL Server kan använda Service Broker. Applikationer kan utformas som lagrade procedurer skrivna i Transact-SQL eller ett CLR-kompatibelt språk, eller de kan vara externa program som ansluter till en instans av SQL Server.

Följande diagram visar en Service Broker-tjänst:

Diagram som visar relationen mellan Service Broker-objekt.

Som du ser i bilden anger ProcessExpenses-kontraktet tre meddelandetyper: SubmitExpense, AcceptDenyExpense och ReimbursementIssued. Kontraktet listar de meddelandetyper som krävs för en konversation som hanterar en kostnadsersättning. ProcessExpenses-kontraktet styr alla konversationer mellan ProcessExpense-tjänsten och alla tjänster som initierar en konversation med ProcessExpense-tjänsten. Tjänsten ProcessExpense lagrar inkommande och utgående meddelanden i ExpenseQueue-kön. Den lagrade proceduren ExpenseProcessing tar emot meddelanden från den här kön, bearbetar meddelandena och skickar tillbaka meddelanden till kön för dirigering till lämplig mäklare om ett svar behövs.

I det här avsnittet

Article Description
Meddelandetyper Deltagare i en konversation måste komma överens om namnet och innehållet i varje meddelande. Meddelandetyper definierar namn och innehåll.
Kontrakt Kontrakt definierar vilka meddelandetyper ett program använder för att utföra en viss uppgift.
Köer Köer lagrar Service Broker-meddelanden.
Tjänster Service Broker-tjänster är namn för specifika affärsuppgifter eller uppsättningar med affärsuppgifter.