Udostępnij za pośrednictwem


Co to usługa Broker?

Service Broker ułatwia deweloperom tworzenie aplikacji asynchronicznych, luźno połączonych, w którym niezależne składniki współpracują ze sobą, aby wykonać zadania.Te składniki aplikacji wymiany wiadomości zawierające informacje wymagane do ukończenia zadania.W tym temacie opisano następujące aspekty Service Broker:

  • Konwersacji

  • Kolejność wiadomości i koordynacji

  • Transakcyjne programowania asynchroniczne

  • Obsługa aplikacji luźno połączonych

  • Service Broker składniki

Konwersacji

Service Broker został opracowany na podstawowych funkcji wysyłania i odbierania wiadomości.Każda wiadomość stanowi część konwersacji.Każdej konwersacji jest kanałem komunikacyjnym niezawodnych i trwałe.Każda wiadomość i konwersacji ma określonego, należy wpisać Service Broker Wymusza ułatwia deweloperom wpisywanie niezawodne aplikacje.

Nowy Transact-SQL instrukcje pozwalają aplikacji wiarygodnego wysyłania i odbierania wiadomości. Aplikacja wysyła komunikaty do Usługa, czyli nazwę zestaw powiązanych zadań.Aplikacja odbiera wiadomości z kolejki, co to jest widok tabela wewnętrzny programu.

Komunikaty dla tego samego zadania należą do jednej konwersacji.W ramach każdej konwersacji Service Broker gwarantuje, że aplikacja odbiera każdej wiadomości tylko raz w w kolejności, w którym wiadomość została wysłana. Program, który implementuje usługa można skojarzyć powiązanych konwersacji dla tej samej usługa w grupa konwersacji, zgodnie z opisem w Zalety usługa Broker.

Zabezpieczenia oparte na certyfikatach pomaga chronić ważne wiadomości i kontrolowania dostępu do usługi.Się odpowiednio jest wyobrazić sobie Service Broker są takie jak pocztowych usługa. Do przechowywania konwersacji z odległych współpracownika, użytkownik może komunikować się przez wysyłanie listów, za pośrednictwem pocztowych usługa.usługa pocztowe sortuje i dostarcza litery.Swojego współpracownika następnie pobrać litery z sieci skrzynek pocztowych, czytać je, zapisać odpowiedzi i wysyłać nowe listy, dopóki nie skończy się do konwersacji.Litera dostarczania asynchronicznego w czasie, gdy użytkownik a swojego współpracownika obsługi innych zadań.

Two users exchange mail through a postal service.

Programy mogą używać Service Broker Podobnie jak pocztowych usługa do obsługi asynchronicznego rozmów z innymi programami. The Service Broker messages funkcja like letters. A Service Broker Usługa jest to adres, gdzie urzędu pocztowego dostarcza litery. Kolejki są skrzynki pocztowe, które zawierają litery po są dostarczane.Aplikacje wyświetlane komunikaty, działają na wiadomości i wysyłanie odpowiedzi.

Gdy aplikacja wysyła komunikat Service Broker usługa, jest izolowana od szczegóły dotyczące implementacji aplikacji na drugim końcu konwersacji. Aplikacja odbierająca może być dynamicznie ponownie skonfigurowane lub zastąpione przez nowy kod bez wpływu na aplikację wysyłającą.Aplikacja odbierająca może nawet zamykanie tymczasowo; tylko wpływ będzie Service Broker powoduje dodanie nowych wiadomości do kolejki, do czasu ponownego uruchomienia aplikacji odbierającej.

Porządkowanie wiadomości i koordynacji

Service Broker obsługuje Kolejkowanie wspólnej bazy danych programowania techniki, inaczej niż tradycyjne produktów w dwóch kluczowych aspektach:

  • Service Broker kolejki są zintegrowane z bazą danych.

  • W kolejkach koordynować i zamówić wiadomości pokrewne.

Zintegrowane kolejkowania oznacza, że zwykłej bazy danych konserwacji i administracji również zawierać Service Broker. Administrator ma zazwyczaj nie zadania rutynowej konserwacji związane z Service Broker.

The Service Broker framework provides a simple Transact-SQL interface for sending and receiving messages combined with a set of strong guarantees for message delivery and processing.Service Broker guarantees that a program receives each message in a conversation exactly once in the order in which the message was sent, not the order in which the message entered the queue.Tradycyjne produkty kolejkowania zawierają wiadomości w kolejności, w którym wiadomości wprowadzone do kolejki.This requires an application to determine the order and grouping of messages.Service Broker guarantees that two queue readers cannot simultaneously process messages from the same conversation or the same group of related conversations.

Każdy Service Broker konwersacji ma dwie strony. Strona, która rozpoczyna konwersację nosi nazwę inicjatora; po drugiej stronie nosi nazwę miejsce docelowe.Po obu stronach ma usługa; usługi inicjatora i usługi miejsce docelowe.Każda usługa ma kolejki wiadomości skojarzone.

Poniżej przedstawiono wymianę wiadomości w konwersacji typowego okna dialogowego:

  • Na inicjatora:

    • Program zaczyna się do konwersacji.

    • Program tworzy wiadomość, która zawiera dane wymagane do wykonania zadania.

    • Program wysyła wiadomość do usługa miejsce docelowe.

  • Na miejsce docelowe:

    • Wiadomość jest umieszczana w kolejce, skojarzone z usługa docelową.

    • Program otrzymuje wiadomość z kolejki i wykonuje pracę.

    • Program odpowiada, wysyłając wiadomości do usługa inicjatora.

  • Na inicjatora:

    • Komunikat odpowiedzi jest umieszczana w kolejce, skojarzone z usługa inicjatora.

    • Program odbiera odpowiedź i przetwarza je.

Ten cykl powtarza się, dopóki inicjatora kończy konwersacji, ponieważ nie ma żadnych większej liczby żądań do wysłania do miejsce docelowe.

Service Broker obsługuje ustawianie priorytetów 10 (wysoka) do 1 (niska) dla każdej konwersacji.This ensures that low priority work does not block higher priority work.Service Broker systems can be configured to offer varying levels of service.Aby uzyskać więcej informacji zobacz Priorytety konwersacji.

Service Broker obsługuje najbardziej trudne zadania w piśmie aplikacji do obsługi wiadomości.Trudne zadania te obejmują koordynacji wiadomości, dostarczanie wiadomości niezawodne, blokowania i uruchamianie czytniki kolejki.To pozwala skoncentrować się na rozwiązywanie problemów firmy projektantów bazy danych.

Transakcyjne programowanie asynchroniczne

W Service Broker infrastruktura, jest dostarczanie wiadomości między różnymi aplikacjami transakcyjne and asynchroniczne.Ponieważ Service Broker Obsługa wiadomości jest transakcyjna, jeśli transakcja toczy się ponownie, wszystkie Service Broker wycofać operacje w transakcji. Te obejmują wysyłania i odbierania operacji.W asynchronicznej dostawy Database Engine obsługuje dostawy, podczas gdy aplikacja kontynuuje działanie. Aby zwiększyć skalowalność, Service Broker udostępnia mechanizmy automatyczne uruchamianie programów tego procesu do kolejki jest przydatne, gdy działa w przypadku przez program. Aby uzyskać więcej informacji zobacz usługa Broker aktywacja.

Programowanie asynchronicznego pomaga deweloperom w pisać aplikacje kolejkowania użycia.Wiele aplikacji bazy danych zawiera tabele, które działają jako kolejki pracy, które muszą być spełnione, zezwolić na zasoby.Kolejki mogą dostarczać dwie zalety do aplikacji baz danych:

  • Aplikacja może odpowiadać na interakcyjnego natychmiast po umieszczenie ich żądanie pracy w kolejce.Aplikacja nie trzeba poczekać, aż wszystkie prace skojarzonej z żądaniem należy wypełnić przed odpowiadać.Gdy zasoby są dostępne, przetwarzane są żądania w kolejce.Dzięki temu bazy danych, pozostają odpowiadać dla użytkowników interaktywnych i wydajnie korzystać z dostępnych zasobów.

  • Pracy w jednym żądaniu czasami można podzielić na wiele jednostek pracy przetwarzane jako osobne transakcje.W takim przypadek aplikacji bazy danych można uruchomić każdą jednostkę pracy przez umieszczenie żądania w kolejce.Rozszerza usługa Broker to pomysł, pozwalając pracy aplikacji, które rozprzestrzeniają się przez wiele wystąpień Service Broker na oddzielnych komputerach.

Kodowanie za pomocą aplikacji, aby poprawnie sekwencji i przetwarzania elementów w kolejkach często jest skomplikowane.Deweloperzy mogą używać Service Broker funkcji wbudowanych w aparat bazy danych w celu uproszczenia kodowania potrzebne do pomyślnie zaimplementowania kolejek w bazie danych.

Obsługa aplikacji luźno połączonych

Service Broker obsługuje aplikacje luźno połączonych.Aplikacje luźno połączonych składają się z wielu programów, które wysyłania i odbierania wiadomości, niezależnie od siebie.Takie aplikacje, musi zawierać takie same definicje wymieniane wiadomości i należy zdefiniować tej samej ogólnej struktury dla interakcji między usługami.Jednak aplikacje nie muszą uruchamiać w tym samym czasie uruchomienia w tym samym SQL Server wystąpienie lub szczegóły dotyczące implementacji udziału. Aplikacja nie musi znać fizycznej lokalizacji lub wykonania innych uczestnik konwersacji.

usługa Broker składników

Service Broker zawiera trzy składniki:

  • Składniki konwersacji. Grupy konwersacji, rozmowy i wiadomości tworzą struktury run-czas Service Broker aplikacja. Aplikacje wymiany wiadomości jako część konwersacji.Każdej konwersacji jest częścią jednej grupy konwersacji, a grupa konwersacji może zawierać wiele konwersacji.Każdy Service Broker Konwersacja jest okno dialogowe. Okno dialogowe jest konwersacji, gdzie uczestnicy dokładnie dwoma wymiany wiadomości.Aby uzyskać więcej informacji na temat składników konwersacji zobacz Architektura konwersacji.

  • Składniki definicji usługa. Są to składniki czas projektowania, które określa podstawową strukturę konwersacji, że aplikacja używa.Określają one typy wiadomości dla aplikacji, przepływ konwersacji dla aplikacji i przechowywania bazy danych aplikacji.Aby uzyskać więcej informacji na temat składników definicję usługa Zobacz Architektura usług.

  • Składniki sieci i zabezpieczeń. Składniki te określają infrastruktury, używany do wymiany komunikatów między wystąpieniami aparat bazy danych.Aby pomóc administratorom w bazie danych zarządzania zmiany środowiska Service Broker Umożliwia administratorom konfigurowanie tych składników, niezależnie od kodu aplikacji. Aby uzyskać więcej informacji dotyczących sieci i składniki zabezpieczeń Zobacz Praca w sieci i Remote Security.

Składniki definicję usługa, składników sieciowych i składników zabezpieczeń są częścią metadane dla bazy danych oraz SQL Server wystąpienie. Grupy konwersacji, rozmowy i wiadomości są częścią dane znajdujące się w bazie danych.