Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Messaging w .NET
2
Agenda Messaging AMQP Podstawowa konfiguracja serwera RabbitMQ
Publikowanie na kolejkę Przykładowy klient: Task queue Broadcast Subscribution
3
Czym jest messaging? Metoda komunikacji i wymiany wiadomości
4
Co nam daje messaging?
5
Integracja systemów
6
Skalowalność Giełda Rynki walutowe
7
Monitoring Przesył dużych ilości danych do wielu klientów naraz
Przesył tych samych danych do wielu klientów na raz
8
Dostarczenie w odpowiedniej kolejności
Systemy transakcyjne Systemy rozproszone Rozwiązania w chmurze
9
Nieznany adresat
10
Sens biznesowy? Decentralizacja systemu
Brak ograniczeń co do technologii Uniezależnienie od jednego dostawcy oprogramowania?
11
Czym jest AMQP? Otwarty, ustandaryzowany protokół, nie API JMS – API
Analogia: HTTP – internet, AMQP – messaging
12
Virtual Host Każdy host ma swoją przestrzeń nazw, zestaw exchange'y, kolejek i powiązań Możliwość adresowania różnych hostów w obrębie jednego serwera
13
Exchange, Binding, Queue
Exchange a publisher Kolejka a publisher Exchange a kolejka Binding
14
Message Broker - Rabbit MQ
Czym jest broker, jaka jest jego rola? przyjmowanie/wysyłanie wiadomości routing niezależny od języka bazujący na protokole AMQP (pluginy do XMTP, HTTP) Message Broker - Rabbit MQ
15
Konfiguracja Rabbit MQ
16
Publikowanie na kolejkę
Właściwości kolejki: - Brak limitów wielkości - Wiadomości przechowywane tylko wewnątrz kolejki - Brak ograniczeń co do ilości klientów
17
Kolejki zadań Symulacja zadaniowości
Message acknowledgment - co się dzieje gdy klient umiera Popularny problem - redelivery w przypadku odłączenia klienta (basicACK)
18
Kolejki zadań Message durability - co się dzieje po zerwaniu połączenia, jak nie zgubić wiadomości? Fair dispatch - równe obciążenie klientów
19
Publish/Subscribe 1. Exchange: fanout, direct, topic
2. Tymczasowe kolejki. 3. Binding.
20
Fanout Exchange - Broadcast
21
Routing – Direct Exchange
Direct exchange (binding key = routing key) Emitowanie message'y
22
Topic Exchange * - zastępuje dokładnie jedno słowo
# - zastępuje 0 lub więcej słów
23
RPC – Remote Procedure Call
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.