Automatyzacja powiadomień MPK cz.4 -> Kolejki

Automatyzacja powiadomień MPK cz.4 -> Kolejki

Kolejny krok, który przed nami stoi, to wybór kolejki. W naszym wypadku jest on bardzo łatwy – > “Azure Storage Queue”. Tanio a dobrze 🙂

Nie jest to jednakże jedyna dostępna opcja i warto jest poznać inne alternatywy zaczynając pracę z rozwiązaniami typu serwerless. W tym poście przedstawię więc plusy i minusy poszczególnych rozwiązań.

Azure Storage Queue

Jeżeli wykorzystujesz asynchroniczną komunikację, Twoim pierwszym wyborem będzie zapewne Azure Storage Queue. Kolejka ta ma takie cechy jak:

  • Domyślna opcja jako komunikacja Azure Funtions
  • Niska cena
  • Rozmiar wiadomości jest mniejszy niż 64kb
  • Wiadomości nie mają zagwarantowanego porządku, w którym przyjdą.
ekran ikony Queue Storage

Queue Storage | Microsoft Azure

Get started today with Azure Premium Storage for low latency and high throughput storage suitable for I/O intensive…

azure.microsoft.com

Service Bus

Jeśli szukamy niezawodnego rozwiązania dla kolejki i pub-sub z niezawodnością, możesz wybrać ServiceBus. Poniższe zdjęcie przedstawia Queue and Pub-Sub.

infografika Queue and Pub-Sub.

Kolejka to prosta usługa przesyłania wiadomości, która służy do ich asynchronicznego wysyłania. Jak jednak dokładnie działa ona w praktyce? Funkcja wysyła wiadomość, a następnie inna funkcja odpytuje kolejkę, aby w końcu pobrać wiadomość. Jednakże, rozwiązanie to ma swoje wady. Ze względu na odpytywanie naszej kolejki o coraz to nowe elementy, sposób ten nie należy do najszybszych.

Jeśli chodzi o publish-subscribe, odbiorca wiadomości jest subskrybentem, który subskrybuje “topic”. Jeśli “topic” otrzyma wiadomość, wysyła wiadomość do subskrybentów.

Service Bus ma takie cechy jak:

  • Kolejka obsługuje Publish-Subscribe
  • Asynchroniczna usługa przesyłania wiadomości
  • Rozmiar wiadomości jest mniejszy niż 256k
  • Gwarancja kolejności wiadomości, które się pojawiają.

Właśnie ze względu na te cechy Service Bus przydaję się przede wszystkim w takich obszarach jak Finanse oraz Bankowosć

ekran ikony Azure Service Bus-Cloud Messaging Service

Azure Service Bus-Cloud Messaging Service

azure.microsoft.com

Keep connected with Azure Service Bus, a cloud messaging system for connecting apps and devices across public and…

Event Grid

infografika Event Grid

Event Grid jest ciekawą usługą o następujących cechach.

  • Milisekundowe opóźnienie
  • Publish-Subscribe
  • Niska cena
  • Obsługa wielu źródeł zdarzeń

Użyj Event Grida gdy:

  • Potrzebujesz niskiego opóźnienia przy asynchronicznym przesyłaniu wiadomości
  • Obsługi zdarzeń z różnych źródeł
ekran ikony Azure Event Grid

Azure Event Grid – Event Handling

Explore a fully managed publish-subscribe event handler. This pay-as-you-go service scales up as your needs expand, in…

azure.microsoft.com

EventHub / IoTHub

Jeżeli chcesz przetworzyć bardzo dużą liczbę wiadomości to najlepszym wyborem będzie EventHub lub IoTHub

ekran ikony Event Hubs

Event Hubs – Cloud big data solutions

Learn about Azure Event Hubs, a managed service that can intake and process massive data streams from websites, apps…

azure.microsoft.com

ekran ikony IoT Hub

IoT Hub | Microsoft Azure

Manage billions of IoT devices to with Azure IoT Hub, an open cloud platform that makes it easy to connect, monitor…

azure.microsoft.com

Dodatkowo artykuły, które warto przeczytać:

ekran ikony bloga Processing 100,000 Events Per Second on Functions

Processing 100,000 Events Per Second on Functions

Customers often ask us about the scalability/throughput limits of the consumption plan for Azure Functions. The short…

blogs.msdn.microsoft.com

ekran bloga In order event processing with Azure Functions

In order event processing with Azure Functions

I met with a customer this week who was interested in using serverless but didn’t know if it would work for their…

medium.com

SignalR Service

To rozwiązanie nie jest asynchroniczne, zatem jego zasada działania jest nieco inna. Jeżeli jednak potrzebujesz komunikacji dwukierunkowej jako serwer do klienta to SignalR będzie dla Ciebie dobrym wyborem. Opiera się on o websocket oraz – co ważniejsze – jest skalowalny. Jeśli jesteś stałym Czytelnikiem lub Czytelniczką mojego bloga to na pewno dostrzegasz już w tym dużą zaletę 🙂

ikona Signal Service

SignalR Service – Real time web | Microsoft Azure

Azure SignalR Service makes it easy to build and manage real-time web applications.

azure.microsoft.com

Notification Hub

Ostatni przykład to Notification Hub, który jest używany do wprowadzania powiadomień mobilnych push. Właśnie dlatego, jeżeli chcesz komunikować się z wieloma urządzeniami, będzie to dla Ciebie najlepsze rozwiązanie.

ikona notification hubs

Notification Hubs – Mobile push notifications

Learn about Azure Notification Hubs. Send push notifications to iOS, Android, Windows, or Kindle from any backend…

azure.microsoft.com

A to dopiero początek…

Podsumowując, powyższe przykłady stanowią jedynie wprowadzenie w możliwości, jakie daje nam Azure. Ten krótki poradnik daje nam jednak ważny punkt zaczepienia pozwalający łatwiej zdecydować ,czego użyć w środowisku produkcyjnym. Ta wiedza jest wystarczająca, aby zacząć kolejny krok i połączyć kolejki z Azure Functions

Poniżej artykuły, które również opisują różnice w wyborze kolejki.

ikona Microsoft

Azure Storage queues and Service Bus queues compared and contrasted

In this article This article analyzes the differences and similarities between the two types of queues offered by…

docs.microsoft.com

ikona Microsoft

Azure messaging services comparison

Compares Azure Event Grid, Event Hubs, and Service Bus. Recommends which service to use for different scenarios.

docs.microsoft.com

Wpis powstał dzięki firmie www.hued.me



Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.