Udostępnij przez


usługa Broker Routing przykłady

W tej sekcji przedstawiono przykłady procesu routingu usługa Broker.Każdy przykład zawiera przykładowy tabel routingu dla AdventureWorks and msdb, a w tym artykule opisano, jak usługa Broker wykorzystuje te tabele routingu do wybierania trasa wiadomości.

Tabele routingu, w tym temacie są wersje uproszczone sys.routes Służy do wyświetlania katalogu. Identyfikator marszruty i właściciela nie są istotne dla procesu routingu, a wszystkie trasa jest uznawany za nieokreślony okres istnienia.

Wartość NULL w remote_service_name kolumna dopasowuje dowolną nazwę usługa.Wartość NULL w broker_instance kolumna jest taka sama, jak każdy identyfikator usługa Broker.

Przykłady dla wiadomości wychodzących, nie należy używać w tabela routingu msdbi przykłady dla przychodzących wiadomości i przesyłania dalej nie używają tabela routingu dla wiadomościAdventureWorks.

Przykład 1: Domyślna konfiguracja

W tym przykładzie opisano domyślną konfiguracja routingu usługa Broker.Domyślnie wszystkie bazy danych, z wyjątkiem wzorzec zawierają AutoCreatedLocal trasa.Dlatego też tabel routingu dla AdventureWorks and msdb zawiera następujące informacje.

AdventureWorks.sys.routes

Nazwa

remote_service_name

broker_instance

adres

mirror_address

AutoCreatedLocal

WARTOŚCI NULL

WARTOŚCI NULL

LOKALNE

WARTOŚCI NULL

msdb.sys.routes

Nazwa

remote_service_name

broker_instance

adres

mirror_address

AutoCreatedLocal

WARTOŚCI NULL

WARTOŚCI NULL

LOKALNE

WARTOŚCI NULL

W tym przypadek wszystkie okna dialogowe utworzonego w AdventureWorks bazy danych są dostarczane do usługa w bieżącym wystąpienie.Ponadto wszystkie okna dialogowe przychodzącej z zewnątrz wystąpienie są dostarczane do usług na bieżącą instancję.

Dla utworzonych w konwersacji AdventureWorks, AutoCreatedLocal jest tylko trasa w AdventureWorks.sys.routes.Ta trasa jest tylko trasy z zestaw pasujących tras, a usługa Broker zdecyduje się na tej trasy.Jeśli usługa wiadomości nie istnieje w lokalnej wystąpienie, wiadomość zostaje odrzucone.

Ten proces jest taka sama dla konwersacji przychodzące z zewnątrz wystąpienie.Dla konwersacji przychodzące z zewnątrz wystąpienie, AutoCreatedLocal jest tylko trasa w msdb.sys.routes.Ta trasa jest tylko trasy z zestaw pasujących tras, a usługa Broker zdecyduje się na tej trasy.Jeśli usługa wiadomości nie istnieje w lokalnej wystąpienie, wiadomość zostaje odrzucone.

Przykład 2: Sieć trasa, aby usługa określonych

W tym przykładzie opisano typową konfiguracja routingu dla usługi poza bieżącym wystąpienie.Aby skonfigurować trasa zewnętrzne usługa, należy utworzyć marszruty w bazie danych, która rozpoczyna się do konwersacji.W tym przykładzie AdventureWorks zawiera trasa dla usługa OrderParts.Trasa zawiera adres sieciowy dla OrderParts usługa.

AdventureWorks.sys.routes

Nazwa

remote_service_name

broker_instance

adres

mirror_address

AutoCreatedLocal

WARTOŚCI NULL

WARTOŚCI NULL

LOKALNE

WARTOŚCI NULL

OrderPartsRoute

OrderParts

WARTOŚCI NULL

TCP://host2.Adventure-Works.com:4022/

WARTOŚCI NULL

msdb.sys.routes

Nazwa

remote_service_name

broker_instance

adres

mirror_address

AutoCreatedLocal

WARTOŚCI NULL

WARTOŚCI NULL

LOKALNE

WARTOŚCI NULL

W tym przypadek wszystkie okna dialogowe utworzonego w AdventureWorks Baza danych usługa OrderParts Dopasowanie marszrutyOrderPartsRoute.usługa Broker wysyła wiadomości do adresu w sieci TCP://host2.Adventure-Works.com:4022/.Wszystkie konwersacje są dostarczane do usług w tej samej wystąpienie.

Dla utworzonych w konwersacji AdventureWorks z miejsce docelowe usługa z OrderParts, zestaw pasujących tras zawiera OrderPartsRoute, ponieważ ta trasa dokładnie pasuje do nazwy usługa.OrderPartsRoute jest tylko trasa z zestaw pasujących tras, tak aby usługa Broker zdecyduje się na tej trasa.

Dla utworzonych w konwersacji AdventureWorks z innym miejsce docelowe usługa zestaw pasujących tras zawiera AutoCreatedLocal.Ponieważ jest tylko trasa z zestaw pasujących tras, usługa Broker wybiera tej trasa.Jeśli usługa wiadomości nie istnieje w lokalnej wystąpienie, Service Broker oznacza DELAYED konwersacji.

Dla konwersacji przychodzące z zewnątrz wystąpienie, AutoCreatedLocal jest tylko trasa w msdb.sys.routes.Ta trasa jest tylko trasy z zestaw pasujących tras, a usługa Broker zdecyduje się na tej trasy.Jeśli usługa wiadomości nie istnieje w lokalnej wystąpienie, wiadomość zostaje odrzucone.

Przykład 3: trasa sieciowe do Database dublowany

W tym przykładzie opisano typową konfiguracja routingu usługa obsługiwanej przez dublowane bazy danych poza bieżącą instancję.Aby skonfigurować trasa zewnętrzne usługa, należy utworzyć marszruty w bazie danych, która rozpoczyna się do konwersacji.W tym przykładzie AdventureWorks zawiera trasa dla usługa OrderParts.Trasa zawiera zarówno adres sieciowy i adres dublowania OrderParts usługa.

AdventureWorks.sys.routes

Nazwa

remote_service_name

broker_instance

adres

mirror_address

AutoCreatedLocal

WARTOŚCI NULL

WARTOŚCI NULL

LOKALNE

WARTOŚCI NULL

OrderPartsRoute

OrderParts

WARTOŚCI NULL

TCP://partner1.Adventure-Works.com:4022/

TCP://partner2.Adventure-Works.com:4022/

msdb.sys.routes

Nazwa

remote_service_name

broker_instance

adres

mirror_address

AutoCreatedLocal

WARTOŚCI NULL

WARTOŚCI NULL

LOKALNE

WARTOŚCI NULL

Dla utworzonych w konwersacji AdventureWorks z miejsce docelowe usługa z OrderParts, zestaw pasujących tras zawiera OrderPartsRoute, ponieważ ta trasa dokładnie pasuje do nazwy usługa.OrderPartsRoute jest tylko trasa z zestaw pasujących tras, tak aby usługa Broker zdecyduje się na tej trasa.usługa Broker sprawdzana jest zarówno adres, jak i adres dublowania, aby określić partner, który jest główny, a następnie wysyła wiadomość do głównej.

Dla utworzonych w konwersacji AdventureWorks z innym miejsce docelowe usługa zestaw pasujących tras zawiera AutoCreatedLocal.Ponieważ jest tylko trasa z zestaw pasujących tras, usługa Broker wybiera tej trasa.Jeśli usługa wiadomości nie istnieje w lokalnej wystąpienie, Service Broker oznacza DELAYED konwersacji.

Dla konwersacji przychodzące z zewnątrz wystąpienie, AutoCreatedLocal jest tylko trasa w msdb.sys.routes.Ta trasa jest tylko trasy z zestaw pasujących tras, a usługa Broker zdecyduje się na tej trasy.Jeśli usługa wiadomości nie istnieje w lokalnej wystąpienie, wiadomość zostaje odrzucone.

Przykład 4: trasa sieciowe do usług wszystkie zewnętrzne

W tym przykładzie wysyła wiadomości z usługi AdventureWorks do innego wystąpienie chyba, że Usługa istnieje w lokalnego wystąpienie.Należy zauważyć, że wiadomości dla wszystkich usług, które nie są lokalne wystąpienie przejdź do tego samego adresu sieciowego.Taka konfiguracja może być przydatne, jeśli SQL Server wystąpienie pod tym adresem sieci wykonuje przesyłanie dalej wiadomości.

W tym przykładzie AdventureWorks baza danych zawiera AutoCreatedLocal marszruty, a także trasa do adresu TCP://forwarding.Adventure-Works.com:4022/.

AdventureWorks.sys.routes

Nazwa

remote_service_name

broker_instance

adres

mirror_address

AutoCreatedLocal

WARTOŚCI NULL

WARTOŚCI NULL

LOKALNE

WARTOŚCI NULL

ExternalRoute

WARTOŚCI NULL

WARTOŚCI NULL

TCP://forwarding.Adventure-Works.com:4022/

WARTOŚCI NULL

msdb.sys.routes

Nazwa

remote_service_name

broker_instance

adres

mirror_address

AutoCreatedLocal

WARTOŚCI NULL

WARTOŚCI NULL

LOKALNE

WARTOŚCI NULL

Dla utworzonych w konwersacji AdventureWorks, zestaw pasujących tras zawiera zarówno AutoCreatedLocal and ExternalRoute, ponieważ wystąpienie nazwy i brokera usługa zdalny jest taka sama dla obu tras.usługa Broker musi wybrać jeden z tych dwóch tras.usługa Broker wybiera trasy z adresem "LOKALNA" przed tras, które Określ adres sieci, tak aby usługa Broker najpierw wybiera AutoCreatedLocal.Jeśli usługa docelowym istnieje lokalnego wystąpienie, Service Broker używa tej trasa i dostarcza wiadomość do tej usługi.Niemniej jednak jeśli Usługa miejsce docelowe nie istnieje w lokalnej wystąpienie, wybiera Service Broker ExternalRoute.

Dla konwersacji przychodzące z zewnątrz wystąpienie, AutoCreatedLocal jest tylko trasa w msdb.sys.routes.Ta trasa jest tylko trasy z zestaw pasujących tras, a usługa Broker zdecyduje się na tej trasy.Jeśli usługa wiadomości nie istnieje w lokalnej wystąpienie, wiadomość zostaje odrzucone.

Przykład 5: trasa sieciowe do innego wystąpienia usługa

W tym przykładzie pokazano konfiguracja routingu, w którym dwa różne adresy hostów różnych wystąpień tej samej usługa.Taka konfiguracja może być przydatne w przypadku konfiguracji równoważenia obciążenia.

W tym przykładzie AdventureWorks baza danych zawiera AutoCreatedLocal trasa także trasa s, aby usługa BalancedService.

AdventureWorks.sys.routes

Nazwa

remote_service_name

broker_instance

adres

mirror_address

AutoCreatedLocal

WARTOŚCI NULL

WARTOŚCI NULL

LOKALNE

WARTOŚCI NULL

BalancedRouteOne

BalancedService

5fb8d92b-ed69-4 c 80-afbb-2aa6a7d3cb2d

TCP://server1.Adventure-Works.com:4022/

WARTOŚCI NULL

BalancedRouteTwo

BalancedService

81b1d3d0-288e-4d2c-b1d3-456cbb944b4f

TCP://Server2.Adventure-Works.com:4022/

WARTOŚCI NULL

msdb.sys.routes

Nazwa

remote_service_name

broker_instance

adres

mirror_address

AutoCreatedLocal

WARTOŚCI NULL

WARTOŚCI NULL

LOKALNE

WARTOŚCI NULL

Dla utworzonych w konwersacji AdventureWorks Baza danych usługa BalancedService , nie zostanie określony identyfikator usługa Broker, zawiera zbiór pasujących tras albo BalancedRouteOne and BalancedRouteTwo.Ponieważ tras zawierają różne identyfikatory usługa Broker, pasujących procesów arbitralnie wybiera identyfikator usługa Broker i tej trasie.Ponieważ tylko jedna trasa jest zgodna, usługa Broker wybiera tej trasy do konwersacji.Wynik jest niektóre trasa konwersacji TCP://server1.Adventure-Works.com:4022/a inne trasa konwersacjiTCP://Server2.Adventure-Works.com:4022/.Jednak po usługa Broker otrzymuje potwierdzenie dla wiadomości w konwersacji, usługa Broker wykorzystuje identyfikator usługa Broker zawartych w potwierdzeniu dla innych wiadomości w konwersacji.Po otrzymaniu potwierdzenia pierwszego wszystkie przyszłe wiadomości w konwersacji są routowane za pomocą identyfikatora usługa Broker w potwierdzenia.

Dla utworzonych w konwersacji AdventureWorks Baza danych usługa BalancedService , określ jeden z identyfikatorów usługa Broker w tabela routingu, zestaw pasujących tras zawiera trasa, która pasuje do identyfikatora usługa Broker.Konwersacji trasa do adresu w tras o tym identyfikatorze usługa Broker.

Dla utworzonych w konwersacji AdventureWorks usługa inną docelowego zestaw pasujących tras zawiera tylko AutoCreatedLocal.usługa Broker wybiera tej trasa.Jeśli usługa wiadomości nie istnieje w lokalnej wystąpienie, Service Broker oznacza DELAYED konwersacji.

Dla konwersacji przychodzące z zewnątrz wystąpienie, AutoCreatedLocal jest tylko trasa w msdb.sys.routes.Ta trasa jest tylko trasy z zestaw pasujących tras, a usługa Broker zdecyduje się na tej trasy.Jeśli usługa wiadomości nie istnieje w lokalnej wystąpienie, wiadomość zostaje odrzucone.

Przykład 6: Przekazywanie wiadomości na usługa określonych

W tym przykładzie przesyła dalej komunikaty z zewnątrz lokalne wystąpienie usługa ElsewhereService adres do sieciTCP://elsewhere.Adventure-Works.com:4022/.Dla wszystkich innych usług Service Broker dostarcza wiadomości do usługi lokalnego wystąpienie lub oznacza konwersacji DELAYED, jeśli usługa nie istnieje w przypadku lokalnych.

AdventureWorks.sys.routes

Nazwa

remote_service_name

broker_instance

adres

mirror_address

AutoCreatedLocal

WARTOŚCI NULL

WARTOŚCI NULL

LOKALNE

WARTOŚCI NULL

msdb.sys.routes

Nazwa

remote_service_name

broker_instance

adres

mirror_address

AutoCreatedLocal

WARTOŚCI NULL

WARTOŚCI NULL

LOKALNE

WARTOŚCI NULL

ForwardingRoute

ElsewhereService

WARTOŚCI NULL

TCP://elsewhere.Adventure-Works.com:4022/

WARTOŚCI NULL

Dla utworzonych w konwersacji AdventureWorks, AutoCreatedLocal jest tylko trasa w AdventureWorks.sys.routes.Ta trasa jest tylko trasy z zestaw pasujących tras, a usługa Broker zdecyduje się na tej trasy.Jeśli usługa wiadomości nie istnieje w lokalnej wystąpienie, Service Broker oznacza DELAYED konwersacji.Należy zauważyć, że konwersacji utworzone w AdventureWorks do usługa ElsewhereService nie trasa do TCP://elsewhere.Adventure-Works.com:4022/.

Dla konwersacji przychodzące z zewnątrz wystąpienie usługa ElsewhereService, trasa ForwardingRoute dokładnie pasuje do nazwy usługa.Dlatego też ForwardingRoute jest tylko trasa z zestaw pasujących tras, a usługa Broker wybiera tej trasa, po włączeniu przesyłania wiadomości.usługa Broker wybiera tej trasa, nawet jeśli lokalne wystąpienie usługa ElsewhereService.Jeśli przesyłanie dalej wiadomości jest wyłączone, usługa Broker spadnie wiadomości.

Dla konwersacji przychodzące z zewnątrz wystąpienie innych usług AutoCreatedLocal jest tylko trasa pasującej w msdb.sys.routes.usługa Broker wybiera tej trasa.Jeśli usługa wiadomości nie istnieje w lokalnej wystąpienie, wiadomość zostaje odrzucone.

Przykład 7: Wiadomości przekazywanie dla wszystkich usług nie ma w wystąpienie

W tym przykładzie wysyła wiadomości z poza lokalnego wystąpienie do innego wystąpienie, chyba że Usługa istnieje w lokalnego wystąpienie.Należy zauważyć, że wiadomości dla wszystkich usług zewnętrznych, przejdź do tego samego adresu sieciowego.Taka konfiguracja może być przydatne do przesyłania wiadomości.

AdventureWorks.sys.routes

Nazwa

remote_service_name

broker_instance

adres

mirror_address

AutoCreatedLocal

WARTOŚCI NULL

WARTOŚCI NULL

LOKALNE

WARTOŚCI NULL

msdb.sys.routes

Nazwa

remote_service_name

broker_instance

adres

mirror_address

AutoCreatedLocal

WARTOŚCI NULL

WARTOŚCI NULL

LOKALNE

WARTOŚCI NULL

ForwardingRoute

WARTOŚCI NULL

WARTOŚCI NULL

TCP://forwarding.Adventure-Works.com:4022/

WARTOŚCI NULL

Dla utworzonych w konwersacji AdventureWorks, AutoCreatedLocal jest tylko trasa w AdventureWorks.sys.routes.Ta trasa jest tylko trasy z zestaw pasujących tras, a usługa Broker zdecyduje się na tej trasy.Jeśli usługa wiadomości nie istnieje w lokalnej wystąpienie, Service Broker oznacza DELAYED konwersacji.

Dla konwersacji przychodzą z poza bazą danych zestaw pasujących tras zawiera zarówno AutoCreatedLocal and ForwardingRoute, ponieważ oba trasy określić tej samej nazwy usługa zdalnego i identyfikator usługa Broker.usługa Broker musi wybrać jeden z tych dwóch tras.usługa Broker wybiera trasy z adresem "LOKALNA" przed tras, które Określ adres sieci, tak aby usługa Broker najpierw wybiera AutoCreatedLocal.Jeśli usługa docelowym istnieje lokalnego wystąpienie, Service Broker używa tej trasa i dostarcza wiadomość do tej usługi.Niemniej jednak jeśli Usługa miejsce docelowe nie istnieje w lokalnej wystąpienie, i przesyłanie dalej wiadomości jest włączona, wybiera Service Broker ForwardingRoute.Jeśli przesyłanie wiadomości dalej nie jest włączony, Service Broker spadnie wiadomości Usługa miejsce docelowe nie istnieje w lokalnej wystąpienie.