23
Messaging w .NET

Messaging w .NET

  • Upload
    fayre

  • View
    61

  • Download
    0

Embed Size (px)

DESCRIPTION

Messaging w .NET. Agenda. Messaging AMQP Podstawowa konfiguracja serwera RabbitMQ Publikowanie na kolejkę Przykładowy klient: Task queue Broadcast Subscribution. Czym jest messaging?. Metoda komunikacji i wymiany wiadomości. Co nam daje messaging?. Integracja systemów. Skalowalność. - PowerPoint PPT Presentation

Citation preview

Page 1: Messaging w .NET

Messaging w .NET

Page 2: Messaging w .NET

Agenda

Messaging AMQP Podstawowa konfiguracja serwera RabbitMQ Publikowanie na kolejkę Przykładowy klient:

– Task queue– Broadcast– Subscribution

Page 3: Messaging w .NET

Czym jest messaging?

Metoda komunikacji i wymiany wiadomości

Page 4: Messaging w .NET

Co nam daje messaging?

Page 5: Messaging w .NET

Integracja systemów

Page 6: Messaging w .NET

Skalowalność

Giełda Rynki walutowe

Page 7: Messaging w .NET

Monitoring

Przesył dużych ilości danych do wielu klientów naraz

Przesył tych samych danych do wielu klientów na raz

Page 8: Messaging w .NET

Dostarczenie w odpowiedniej kolejności

Systemy transakcyjne Systemy rozproszone Rozwiązania w chmurze

Page 9: Messaging w .NET

Nieznany adresat

Page 10: Messaging w .NET

Sens biznesowy?

Decentralizacja systemu Brak ograniczeń co do technologii Uniezależnienie od jednego dostawcy oprogramowania?

Page 11: Messaging w .NET

Czym jest AMQP?

Otwarty, ustandaryzowany protokół, nie API

JMS – API Analogia: HTTP – internet,

AMQP – messaging

Page 12: Messaging w .NET

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

Page 13: Messaging w .NET

Exchange, Binding, Queue

Exchange a publisher Kolejka a publisher Exchange a kolejka Binding

Page 14: Messaging w .NET

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)

Page 15: Messaging w .NET

Konfiguracja Rabbit MQ

Page 16: Messaging w .NET

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

Page 17: Messaging w .NET

Kolejki zadań

Symulacja zadaniowościMessage acknowledgment - co się dzieje gdy klient umiera

Popularny problem - redelivery w przypadku odłączenia klienta (basicACK)

Page 18: Messaging w .NET

Kolejki zadań

Message durability - co się dzieje po zerwaniu połączenia, jak nie zgubić wiadomości?

Fair dispatch - równe obciążenie klientów

Page 19: Messaging w .NET

Publish/Subscribe

1. Exchange: fanout, direct, topic2. Tymczasowe kolejki.3. Binding.

Page 20: Messaging w .NET

Fanout Exchange - Broadcast

Page 21: Messaging w .NET

Routing – Direct Exchange

Direct exchange (binding key = routing key)Emitowanie message'y

Page 22: Messaging w .NET

Topic Exchange

* - zastępuje dokładnie jedno słowo# - zastępuje 0 lub więcej słów

Page 23: Messaging w .NET

RPC – Remote Procedure Call