1 / 20

Message Queuing (MSMQ)

Message Queuing (MSMQ). Cezary Nolewajka Getin Sp. z o.o. c.nolewajka@m2mob.com. MSMQ – co to jest?. Co to jest MSMQ? infrastruktura najnowsza wersja: MSMQ 3.0 (.Net Server, XP) Cechy MSMQ gwarantowane dostarczenie wiadomości, transakcje, bezpieczeństwo (autentykacja, szyfrowanie),

carter
Download Presentation

Message Queuing (MSMQ)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Message Queuing(MSMQ) Cezary Nolewajka Getin Sp. z o.o. c.nolewajka@m2mob.com

  2. MSMQ – co to jest? • Co to jest MSMQ? • infrastruktura • najnowsza wersja: MSMQ 3.0 (.Net Server, XP) • Cechy MSMQ • gwarantowane dostarczenie wiadomości, • transakcje, • bezpieczeństwo (autentykacja, szyfrowanie), • wydajne kierowanie ruchem, • priorytety, • inne: HTTP, triggers, multicast, message lookup, AD integration, cross-platform, active/active cluster support, Windows CE Client, backup and restore

  3. MSMQ – serwery, klienci • MSMQ Server • dostęp do AD, także dla klientów wcześniejszych wersji: MSMQ 1.0/2.0 (wymagany MSMQ Downlevel Client Support) • obsługa kierowania ruchem wiadomości (routing) • wsparcie dla klientów zależnych • MSMQ Client (Independent) • mogą pracować bez połączenia (mobility) • rozłożenie ruchu (in/out-routing servers) • nie można zainstalować „Routing Component” oraz wsparcia dla klientów MSMQ 1.0/2.0 („Downlevel Client Support”)

  4. MSMQ – serwery, klienci (c.d.) • MSMQ Client (Dependent) • wymaga komputera wspierającego: MSMQ Server lub MSMQ Independent Client • nie może wysyłać wiadomości bez połączenia (offline) • zalety: mniej do administrowania • wady: osłabione szyfrowanie, gorsza wydajność (RPC, wiele klientów/serwer), kolejki klienta na serwerze, nie może korzystać z transportu HTTP, list dystrybucyjnych, czy wieloczęściowych nazw „Format Names”

  5. MSMQ – kolejki • Kolejki (Queues) • publiczne / prywatne (Public/Private Queues)ComputerName\QueueNameComputerName\Private$\QueueName • transakcyjne / nietransakcyjne • administracyjne (Administration Queues, tylko nietransakcyjne) • kolejki odpowiedzi (Response Queues) • kolejki raportowania (Report Queues, tracing)Label: MQReport QueueGUID: {55EE8F32-CCE9-11CF-B108-0020AFD61CE9}

  6. MSMQ – kolejki (c.d.) • Kolejki (Queues) • kolejki systemowe (System Queues): • kolejki kopii (Journal Queues)MACHINE=ComputerGUID;JOURNAL • systemowe kolejki prywatne (Internal Private Queues) i kolejki wysyłające (Outgoing Queues) • kolejki wiadomości niedostarczonych (Dead-letter Queues) • kolejki połączeń (Connector Queues)

  7. MSMQ – nazwy kolejek • Path Names • ComputerName\QueueName • ComuterName\QueueName\Journal$ • ComputerName\Private$\QueueName • MachineName\Journal$ • MachineName\Deatletter$ • MachineName\XactDeatletter$

  8. MSMQ – nazwy kolejek (c.d.) • Format Names • Direct Format Names:DIRECT=ComputerAddress\PublicQueueNameDIRECT=ComputerAddress\PRIVATE$\PrivateQueueNameDIRECT=ComputerAddress\SYSTEM$;SystemQueueNameDIRECT=HTTP://URL_Address/msmq/PublicQueueNameDIRECT=HTTPS://URL_Address/msmq/PublicQueueNameDIRECT=HTTPS://URL_Address/msmq/private$\PrivateQueueDIRECT=TCP:157.18.3.1\MyPublicQueueDIRECT=OS:elvisp.ms.com\MyPublicQueue

  9. MSMQ – nazwy kolejek (c.d.) • Format Names • Public Format Names:PUBLIC=QueueGUIDPUBLIC=QueueGUID;JOURNALPUBLIC=308FB580-1EB2-11CA-923B-08002B1075A7 • Private Format Names:PRIVATE=ComputerGUID\QueueNumberPRIVATE=ComputerGUID\QueueNumber;JOURNALPRIVATE=ae0c5671-f190-12ce-ae10-00dd0114290f\0000000d • Queue Aliases

  10. MSMQ – Journaling • Target Journaling • ustawiane dla każdej kolejki niezależnie • Source Journaling • Positive Source Journaling • Negative Source Journaling (Dead-letter queues)

  11. MSMQ – wiadomości • Typy wiadomości • wiadomości, potwierdzenia, raporty, odpowiedzi • Właściwości wiadomości • dłuuuuga lista.... () • TTRQ, TTBR (uwaga na wartości domyślne!) • Dostarczanie • express messaging vs. recoverable messaging • Wiadomości transakcyjne • ACID, exactly once in-order delivery • external transactions (DTC, XA-Compliant) • internal transactions (single message implicit)

  12. MSMQ – wiadomości (c.d.) • Formatowanie wiadomości • XMLMessageFormattermq.Formatter = new XmlMessageFormatter (new string[] {”Assembly.ClassName,Assembly”});mq.Formatter = new XmlMessageFormatter (new Type[] {typeof (ClassName)}); • BinaryMessageFormattermq.Formatter = new BinaryMessageFormatter (); • ActiveXMessageFormatter

  13. MSMQ – bezpieczeństwo • Bezpieczeństwo • autentykacja (Authentication) • serwerówzapytania do kontrolerów domeny i serwerów MSMQ (Kerberos V5, certyfikaty dla MSMQ 1.0) • wiadomości • szyfrowanie (Encryption) 40-bit, 128-bit (MSMQ 3.0), asymetryczne, symetrycznetylko w czasie transmisji sieciowej • autoryzacja (Access Control)

  14. MSMQ – Queued Components • Queued Components • Serviced Component (COM+ Services) • GAC, Server, regsvsc.exe • asynchroniczny • zdalny • transakcyjny • callbacks, exceptions, COM+ events

  15. MSMQ - Triggers • Triggers • reguły (Rules) • reguły wywoływania akcji (Rule Condition) • akcje (Rule Action) – wywołania COM lub EXE • pułapki (Triggers) • monitorowana kolejka • aktywne reguły • dla MS Windows 2000/NT dostępne jako osobno instalowany pakiet

  16. MSMQ – aspekty wydajności • express / recoverable mode • używaj wielowątkowości • bez transakcji / transakcje wewnętrzne / transakcje zewnętrzne • minimalizuj otwieranie i zamykanie kolejek • autentykacja i szyfrowanie • optymalizuj nagłówek wiadomości (Sender SID tylko jeśli używasz autentykacji) • potwierdzenia (acknowledgment) • journalling (recoverable mode!)

  17. MSMQ – aspekty wydajności (c.d.) • optymalizacja fizycznych dysków (storage) • odbieraj wiadomości tylko lokalnie • unikaj zapytań do MQIS • implementuj TTRQ i TTBR • stosuj odpowiednią serializację • odpowiednio dobierz kontekst użytkownika (security context) • pamiętaj o wielkości liter • testuj aplikację z pełnym restartem i offline

  18. MSMQ – co jeszcze? • Routing • Internet Messaging (SRMP) • Clusters, NLB • Cross-platform Messaging

  19. Bibliografia • MS Windows Server 2003 MS Help • MSDN: http://msdn.microsoft.com/msmq/ • artykuły techniczne, optymalizacja, testy wydajności • Grupy dyskusyjnemicrosoft.public.msmq.programming i inne • MS Visual Studio .Net Documentation • MSMQ Administrator’s Guide (MS Windows 2000 online documentation) • http://www.informit.com/ • artykuły, „Queued Components” • Visual Basic Programmer’s Guide to the .Net Framework Class Library, SAMS

  20. Miłych kolejek!

More Related