Service BrokerPrzykłady routingu
W tej sekcji przedstawiono przykłady Service Broker proces routingu.Każdy przykład zawiera przykładowe tabele routingu dla AdventureWorks2008R2 i msdbi opisano, jak Service Broker wykorzystuje te tabele routingu wybór trasa wiadomości.
Tabele routingu, przedstawione w tym temacie są uproszczone wersje sys.routes wykazu widoku.Identyfikator trasa, a właściciel nie są istotne dla procesu routingu i wszystkie trasa jest uznawany za nieograniczony okres istnienia.
Wartość NULL w remote_service_name kolumna dopasowuje dowolną nazwę usługa.Wartość NULL w broker_instance kolumna dopasowuje dowolny identyfikator Service Broker.
Przykłady dla wiadomości wychodzących, nie należy używać tabela routingu w msdb, i przykłady dla wiadomości przychodzących i przesyłanie dalej nie jest używany routing wiadomości tabela dla AdventureWorks2008R2.
Przykład 1: Domyślna konfiguracja
W tym przykładzie opisano domyślnej konfiguracja routingu Service Broker.Domyślnie bazy wszystkich danych z wyjątkiem wzorca zawierają AutoCreatedLocal trasa.Dlatego tabele routingu dla AdventureWorks2008R2 i msdb zawiera następujące informacje.
AdventureWorks2008R2.sys.routes
name |
remote_service_name |
broker_instance |
adres |
mirror_address |
---|---|---|---|---|
AutoCreatedLocal |
NULL |
NULL |
LOKALNE |
NULL |
msdb.sys.routes
name |
remote_service_name |
broker_instance |
adres |
mirror_address |
---|---|---|---|---|
AutoCreatedLocal |
NULL |
NULL |
LOKALNE |
NULL |
przypadek wszystkich okien dialogowych utworzonych w AdventureWorks2008R2 bazy danych są dostarczane do usługa w bieżącym wystąpienie.Ponadto wszystkie okna dialogowe przybywających z zewnątrz wystąpienie są dostarczane do usługa w bieżącej instancji.
Dla konwersacji utworzone w AdventureWorks2008R2, AutoCreatedLocal jest tylko trasa w AdventureWorks2008R2.sys.routes.Że trasa jest tylko trasy w zestaw pasujących tras i Service Broker wybiera tej trasy.Usługa wiadomości nie istnieje w lokalne wystąpienie, wiadomość jest odrzucany.
Proces jest taka sama dla konwersacji przychodzące z zewnątrz wystąpienie.Dla konwersacji, które przybywają z poza wystąpienie, AutoCreatedLocal jest tylko trasa w msdb.sys.routes.Że trasa jest tylko trasy w zestaw pasujących tras i Service Broker wybiera tej trasy.Usługa wiadomości nie istnieje w lokalne wystąpienie, wiadomość jest odrzucany.
Przykład 2: Trasa sieciowa do określonych usług
W tym przykładzie opisano typową konfiguracja routingu dla usług poza bieżące wystąpienie.Aby skonfigurować trasa zewnętrzne usługa, należy utworzyć trasa w bazie danych, która rozpoczyna konwersację.W tym przykładzie AdventureWorks2008R2 zawiera trasa dla usługa OrderParts.Trasa zawiera adres sieciowy dla OrderParts usługa.
AdventureWorks2008R2.sys.routes
name |
remote_service_name |
broker_instance |
adres |
mirror_address |
---|---|---|---|---|
AutoCreatedLocal |
NULL |
NULL |
LOKALNE |
NULL |
OrderPartsRoute |
OrderParts |
NULL |
TCP: / / host2.Adventure Works.com:4022 / |
NULL |
msdb.sys.routes
name |
remote_service_name |
broker_instance |
adres |
mirror_address |
---|---|---|---|---|
AutoCreatedLocal |
NULL |
NULL |
LOKALNE |
NULL |
przypadek wszystkich okien dialogowych utworzonych w AdventureWorks2008R2 bazy danych usługa OrderParts zgodne trasa OrderPartsRoute.Service Broker wysyła wiadomości na adres sieci tcp: / / host2.Adventure Works.com:4022 /.Wszystkie inne konwersacje są dostarczane do usług, w tym samym wystąpienie.
Dla konwersacji utworzone w AdventureWorks2008R2 z miejsce docelowe usługa z OrderParts, zawiera zestaw pasujących tras OrderPartsRoute, ponieważ nazwa usługa dokładnie pasuje do tej trasa.OrderPartsRoute jest tylko trasa zestaw pasujących tras, tak aby Service Broker wybiera tej trasa.
Dla konwersacji utworzone w AdventureWorks2008R2 do różnych miejsce docelowe usługa, zawiera zestaw pasujących tras AutoCreatedLocal.Ponieważ jest tylko trasa zestaw pasujących tras, Service Broker wybiera tej trasa.Jeśli usługa wiadomości nie istnieje w lokalne wystąpienie, Service Broker oznacza konwersacji OPÓŹNIONE.
Dla konwersacji, które przybywają z poza wystąpienie, AutoCreatedLocal jest tylko trasa w msdb.sys.routes.Że trasa jest tylko trasy w zestaw pasujących tras i Service Broker wybiera tej trasy.Usługa wiadomości nie istnieje w lokalne wystąpienie, wiadomość jest odrzucany.
Przykład 3: Trasa sieciowa dublowanego bazy danych
W tym przykładzie opisano typową konfiguracja routingu obsługiwanych przez dublowanego bazy danych poza bieżące wystąpienie usługa.Aby skonfigurować trasa zewnętrzne usługa, należy utworzyć trasa w bazie danych, która rozpoczyna konwersację.W tym przykładzie AdventureWorks2008R2 zawiera trasa dla usługa OrderParts.Trasa zawiera adres sieciowy i adres dublowanie OrderParts usługa.
AdventureWorks2008R2.sys.routes
name |
remote_service_name |
broker_instance |
adres |
mirror_address |
---|---|---|---|---|
AutoCreatedLocal |
NULL |
NULL |
LOKALNE |
NULL |
OrderPartsRoute |
OrderParts |
NULL |
TCP: / / partner1.Adventure Works.com:4022 / |
TCP: / / partner2.Adventure Works.com:4022 / |
msdb.sys.routes
name |
remote_service_name |
broker_instance |
adres |
mirror_address |
---|---|---|---|---|
AutoCreatedLocal |
NULL |
NULL |
LOKALNE |
NULL |
Dla konwersacji utworzone w AdventureWorks2008R2 z miejsce docelowe usługa z OrderParts, zawiera zestaw pasujących tras OrderPartsRoute, ponieważ nazwa usługa dokładnie pasuje do tej trasa.OrderPartsRoute jest tylko trasa zestaw pasujących tras, tak aby Service Broker wybiera tej trasa.Service Broker sprawdza adres i adres dublowania do ustalenia, którego partner jest główny zobowiązany i wysyła wiadomości głównego zobowiązanego.
Dla konwersacji utworzone w AdventureWorks2008R2 do różnych miejsce docelowe usługa, zawiera zestaw pasujących tras AutoCreatedLocal.Ponieważ jest tylko trasa zestaw pasujących tras, Service Broker wybiera tej trasa.Jeśli usługa wiadomości nie istnieje w lokalne wystąpienie, Service Broker oznacza konwersacji OPÓŹNIONE.
Dla konwersacji, które przybywają z poza wystąpienie, AutoCreatedLocal jest tylko trasa w msdb.sys.routes.Że trasa jest tylko trasy w zestaw pasujących tras i Service Broker wybiera tej trasy.Usługa wiadomości nie istnieje w lokalne wystąpienie, wiadomość jest odrzucany.
Przykład 4: Trasa sieciowa do wszystkich zewnętrznych usług
W tym przykładzie wysyła wiadomości z usługi w AdventureWorks2008R2 do innego wystąpienia chyba, że usługa istnieje w lokalne 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.Konfiguracja ta może być przydatne, jeśli SQL Server wykonuje wystąpienie pod danym adresem sieci przesyłania wiadomości.
W tym przykładzie AdventureWorks2008R2 baza danych zawiera AutoCreatedLocal trasy, jak również trasa do adresu tcp: / / przesyłania dalej.Adventure Works.com:4022 /.
AdventureWorks2008R2.sys.routes
name |
remote_service_name |
broker_instance |
adres |
mirror_address |
---|---|---|---|---|
AutoCreatedLocal |
NULL |
NULL |
LOKALNE |
NULL |
ExternalRoute |
NULL |
NULL |
TCP: / / przesyłania dalej.Adventure Works.com:4022 / |
NULL |
msdb.sys.routes
name |
remote_service_name |
broker_instance |
adres |
mirror_address |
---|---|---|---|---|
AutoCreatedLocal |
NULL |
NULL |
LOKALNE |
NULL |
Dla konwersacji utworzone w AdventureWorks2008R2, zawiera zarówno zestaw pasujących tras AutoCreatedLocal i ExternalRoute, ponieważ usługa zdalnego wystąpienie nazwy i brokera jest taki sam dla obu trasy.Service Broker musi wybrać jeden z tych dwóch tras.Service Broker wybiera trasy z adresem "LOKALNĄ" przed tras, które należy określić adres sieci, więc Service Broker najpierw wybiera AutoCreatedLocal.Jeśli miejsce docelowe Usługa istnieje w lokalne wystąpienie, Service Broker wykorzystuje tej trasa i dostarcza wiadomość do tej usługi.Jednakże, jeśli usługa miejsce docelowe nie ma lokalnego wystąpienia usługa Broker wybiera ExternalRoute.
Dla konwersacji, które przybywają z poza wystąpienie, AutoCreatedLocal jest tylko trasa w msdb.sys.routes.Że trasa jest tylko trasy w zestaw pasujących tras i Service Broker wybiera tej trasy.Usługa wiadomości nie istnieje w lokalne wystąpienie, wiadomość jest odrzucany.
Przykład 5: Trasa sieciowa do różnych wystąpień usługi
W tym przykładzie pokazano konfiguracja routingu, w których host różnych wystąpień tej samej usługa w dwóch różnych adresów.Konfiguracja ta może być przydatna dla konfiguracji równoważenia obciążenia.
W tym przykładzie AdventureWorks2008R2 baza danych zawiera AutoCreatedLocal trasa, a także trasa do usługa BalancedService.
AdventureWorks2008R2.sys.routes
name |
remote_service_name |
broker_instance |
adres |
mirror_address |
---|---|---|---|---|
AutoCreatedLocal |
NULL |
NULL |
LOKALNE |
NULL |
BalancedRouteOne |
BalancedService |
5fb8d92b-ed69-4 c 80-afbb-2aa6a7d3cb2d |
TCP: / / serwer1.Adventure Works.com:4022 / |
NULL |
BalancedRouteTwo |
BalancedService |
81b1d3d0-288e-4d2c-b1d3-456cbb944b4f |
TCP: / / serwer2.Adventure Works.com:4022 / |
NULL |
msdb.sys.routes
name |
remote_service_name |
broker_instance |
adres |
mirror_address |
---|---|---|---|---|
AutoCreatedLocal |
NULL |
NULL |
LOKALNE |
NULL |
Dla konwersacji utworzone w AdventureWorks2008R2 bazy danych usługa Balancedusługa , nie należy określać usługa Broker zawiera identyfikator zestaw pasujących tras, albo BalancedRouteOne i BalancedRouteTwo.Ponieważ trasas zawierają różne identyfikatory Service Broker, arbitralnie wybiera identyfikator Service Broker dopasowywania procesów i odpowiada trasa.Ponieważ tylko jedna trasa zgodna, Service Broker wybiera tej trasy do konwersacji.Wynik jest niektóre konwersacji trasa do tcp: / / serwer1.Adventure Works.com:4022 /, i innych konwersacji tras do tcp: / / serwer2.Adventure Works.com:4022 /.Jednak po Service Broker otrzyma potwierdzenie dla wiadomości w konwersacji, Service Broker wykorzystuje identyfikator Service Broker zawartych w potwierdzeniu dla innych wiadomości w konwersacji.Po otrzymaniu potwierdzenia pierwszego są routowane wszystkie przyszłe wiadomości w konwersacji przy użyciu identyfikatora Service Broker w potwierdzeniu.
Dla konwersacji utworzone w AdventureWorks2008R2 bazy danych usługa Balancedusługa określić jeden z usługa Broker identyfikatory tabela routingu zestaw pasujących tras zawiera trasa, która pasuje usługa Broker identyfikator.trasa konwersacji adres w marszrucie z danym identyfikatorem Service Broker.
Dla konwersacji utworzone w AdventureWorks2008R2 do różnych miejsce docelowe usługa, zestaw pasujących tras zawiera tylko AutoCreatedLocal.Service Broker wybiera tej trasa.Jeśli usługa wiadomości nie istnieje w lokalne wystąpienie, Service Broker oznacza konwersacji OPÓŹNIONE.
Dla konwersacji, które przybywają z poza wystąpienie, AutoCreatedLocal jest tylko trasa w msdb.sys.routes.Że trasa jest tylko trasy w zestaw pasujących tras i Service Broker wybiera tej trasy.Usługa wiadomości nie istnieje w lokalne wystąpienie, wiadomość jest odrzucany.
Przykład 6: Przekazywanie wiadomości dla określonej usługi
W tym przykładzie przesyła dalej wiadomości z zewnątrz lokalnego wystąpienie usługa ElsewhereService adres sieci tcp: / / innym.Adventure Works.com:4022 /.Inne usługi Service Broker dostarcza wiadomości do usługi lokalnego wystąpienie lub znaczniki konwersacji OPÓŹNIONE, jeżeli usługa nie ma lokalnego wystąpienie.
AdventureWorks2008R2.sys.routes
name |
remote_service_name |
broker_instance |
adres |
mirror_address |
---|---|---|---|---|
AutoCreatedLocal |
NULL |
NULL |
LOKALNE |
NULL |
msdb.sys.routes
name |
remote_service_name |
broker_instance |
adres |
mirror_address |
---|---|---|---|---|
AutoCreatedLocal |
NULL |
NULL |
LOKALNE |
NULL |
ForwardingRoute |
ElsewhereService |
NULL |
TCP: / / innym.Adventure Works.com:4022 / |
NULL |
Dla konwersacji utworzone w AdventureWorks2008R2, AutoCreatedLocal jest tylko trasa w AdventureWorks2008R2.sys.routes.Że trasa jest tylko trasy w zestaw pasujących tras i Service Broker wybiera tej trasy.Jeśli usługa wiadomości nie istnieje w lokalne wystąpienie, Service Broker oznacza konwersacji OPÓŹNIONE.Należy zauważyć, że utworzony konwersację w AdventureWorks2008R2 do usługa ElsewhereService nie trasa do tcp: / / innym.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 ForwardingRoute jest tylko trasa w zestaw pasujących tras i Service Broker wybiera tej trasa, gdy przesyłanie wiadomości.usługa BrokerWybiera tej trasa, nawet jeśli lokalne wystąpienie zawiera usługa Elsewhereusługa.Jeżeli przekazywanie wiadomości jest wyłączona, Service Broker spadnie wiadomości.
Dla konwersacji przychodzące z zewnątrz wystąpienie innych usług AutoCreatedLocal jest tylko pasującej trasa w msdb.sys.routes.Service Broker wybiera tej trasa.Usługa wiadomości nie istnieje w lokalne wystąpienie, wiadomość jest odrzucany.
Przykład 7: Przekazywanie wiadomości dla wszystkich usług nie w instancji
W tym przykładzie wysyła komunikaty z poza lokalne wystąpienie do innego wystąpienia, chyba że usługa istnieje w lokalne wystąpienie.Należy zauważyć, że wiadomości dla wszystkich usług zewnętrznych przejść do tego samego adresu sieciowego.Konfiguracja ta może być przydatna do przesyłania wiadomości.
AdventureWorks2008R2.sys.routes
name |
remote_service_name |
broker_instance |
adres |
mirror_address |
---|---|---|---|---|
AutoCreatedLocal |
NULL |
NULL |
LOKALNE |
NULL |
msdb.sys.routes
name |
remote_service_name |
broker_instance |
adres |
mirror_address |
---|---|---|---|---|
AutoCreatedLocal |
NULL |
NULL |
LOKALNE |
NULL |
ForwardingRoute |
NULL |
NULL |
TCP: / / przesyłania dalej.Adventure Works.com:4022 / |
NULL |
Dla konwersacji utworzone w AdventureWorks2008R2, AutoCreatedLocal jest tylko trasa w AdventureWorks2008R2.sys.routes.Że trasa jest tylko trasy w zestaw pasujących tras i Service Broker wybiera tej trasy.Jeśli usługa wiadomości nie istnieje w lokalne wystąpienie, Service Broker oznacza konwersacji OPÓŹNIONE.
Dla konwersacji, które przybywają z poza bazą danych zestaw pasujących tras zawiera oba AutoCreatedLocal i ForwardingRoute, ponieważ zarówno trasy podać tę samą nazwę usługa zdalnego i usługa Broker identyfikator.Service Broker musi wybrać jeden z tych dwóch tras.Service Broker wybiera trasy z adresem "LOKALNĄ" przed tras, które należy określić adres sieci, więc Service Broker najpierw wybiera AutoCreatedLocal.Jeśli miejsce docelowe Usługa istnieje w lokalne wystąpienie, Service Broker wykorzystuje tej trasa i dostarcza wiadomość do tej usługi.Jednakże, jeśli Usługa miejsce docelowe nie ma lokalnego wystąpienie i jest przekazywanie wiadomości na, wybiera Service Broker ForwardingRoute.Jeżeli przekazywanie wiadomości nie jest włączony, Service Broker spadnie wiadomości, jeśli Usługa miejsce docelowe nie ma lokalnego wystąpienie.
Zobacz także