Database
 sql >> Baza danych >  >> RDS >> Database

Przewodnik po funkcjach PubNub

Niewiarygodne prędkości osiągane przez dzisiejsze nowoczesne połączenia internetowe ułatwiły rozprzestrzenianie się aplikacji czasu rzeczywistego. Są to aplikacje, które działają w ramach czasowych, które są wystarczająco szybkie, aby użytkownik wyczuwał ich reakcje jako natychmiastowe dla wszystkich praktycznych celów. Dlatego opóźnienie musi być w ciągu kilku sekund lub nawet ułamków sekundy.

Do niedawna tworzenie aplikacji czasu rzeczywistego było uciążliwe i wymagało dużego wysiłku inżynierskiego. Dzieje się tak dlatego, że aby zbudować jakąkolwiek funkcjonalność czasu rzeczywistego, musisz ustanowić dwukierunkowe połączenie między klientem a serwerem, aby wysyłać wiadomości. PubNub zapewnia interfejsy API czasu rzeczywistego i globalną infrastrukturę przesyłania wiadomości, aby uprościć kodowanie aplikacji w czasie rzeczywistym. Wykorzystuje model publikowania/subskrybowania do przesyłania strumieniowego danych w czasie rzeczywistym i sygnalizacji urządzeń, który umożliwia nawiązywanie i utrzymywanie trwałych połączeń gniazd z dowolnym urządzeniem oraz przesyłanie danych do odbiorców na całym świecie w czasie krótszym niż ćwierć sekundy. Możesz publikować wiadomości na dowolnym kanale, a subskrybujący klienci otrzymują tylko wiadomości powiązane z tym kanałem. Ładunek wiadomości może zawierać dowolne typy danych JSON, w tym liczby, ciągi, tablice i obiekty.

W dzisiejszym artykule zbudujemy i przetestujemy funkcję powitania za pomocą konsoli PubNub.

Przewodnik

PubNub ma konsole online do tworzenia i zarządzania każdym komponentem twoich projektów i modułów, od kluczy API po ustawienia debugowania. Dlatego wszystko, co dzisiaj zrobimy, będzie miało miejsce na stronie PubNub.

  1. Zacznijmy od utworzenia konta. Jeśli masz już konto Google, możesz użyć go do podania swoich danych logowania.
  2. W konsoli administracyjnej zobaczysz, że projekt demonstracyjny został już dla Ciebie utworzony. Kliknij go, aby otworzyć projekt w konsoli.
  3. Tam zobaczysz swój zestaw kluczy demonstracyjnych. Teraz kliknij go, aby uzyskać dostęp do jego szczegółów.
  4. W sekcji Dodatki do aplikacji u dołu ekranu zobaczysz szereg opcji. Włącz funkcje PubNub, jak pokazano na rysunku 1:


    Rysunek 1: Włączanie funkcji PubNub

  5. Przycisk Zapisz pojawi się w lewym dolnym rogu ekranu. Kliknij, aby zapisać zmiany.
  6. Teraz utworzymy moduł aplikacji. W menu po lewej stronie kliknij PubNub Functions, aby wyświetlić ekran PubNub Functions (patrz rysunek 2):


    Rysunek 2: Ekran funkcji PubNub

  7. W oknie dialogowym Utwórz nowy moduł wpisz „Powitanie” w polu „Wprowadź nową nazwę aplikacji”. Kliknij przycisk „Utwórz nowy moduł”, jak widać na rysunku 3:


    Rysunek 3: Tworzenie nowego modułu

    Powinieneś otrzymać powiadomienie „Pomyślnie utworzono nowy moduł” u góry strony.

  8. Następnie zakodujemy funkcję. W kontekście aplikacji czasu rzeczywistego funkcja to miejsce, w którym umieszczamy logikę, która działa w stosunku do wiadomości. Kliknij przycisk „+ UTWÓRZ”, aby utworzyć nową funkcję.
  9. W oknie dialogowym Nowa funkcja wpisz „Wyświetl powitanie” jako „Nazwę funkcji”, wybierz „Przed opublikowaniem lub uruchomieniem” jako „Typ funkcji” i wpisz „display_greeting” jako „Nazwę kanału” (patrz Rysunek 4 ):


    Rysunek 4: Zakończenie sekwencji tworzenia

  10. Kliknij „Utwórz”.

Pojawi się edytor wyświetlania modułu powitalnego. Wyświetli funkcję wyświetlania powitania w edytorze z podstawowym szkieletem. W tej chwili wszystko, co robi, to rejestrowanie żądania i zwracanie żądania jako rozwiązanie obietnicy :

export default (request) => { 
   const kvstore = require('kvstore');
   const xhr = require('xhr');

   // Log the request envelope passed
   console.log('request', request);
   // Return a promise when you're done
   return request.ok();
}

W poprzednim kodzie:

  • Parametr żądania przechowuje obiekt koperty wiadomości PubNub.
  • Ciało funkcji importuje kilka bibliotek, rejestruje żądanie i zwraca żądanie jako rozwiązanie obietnicy. (Zwrócenie request.ok() jest równoważne zwróceniu Promise.resolve(request)).

Ta funkcja będzie działać za każdym razem, gdy wiadomość wejdzie do sieci strumienia danych PubNub, ale przed dalszą replikacją i dystrybucją wśród subskrybentów, ponieważ jej typ to „Przed opublikowaniem”.

Teraz zmodyfikujemy kod funkcji, aby dodać nazwę do domyślnej wiadomości „Hello”.

  1. W edytorze kodu funkcji zastąp wiersz console.log następującym:
    request.message.greeting += " world!";
  2. Kliknij „Zapisz”.
  3. Teraz przetestujmy naszą funkcję. W polu „Test Payload” wprowadź następujący literał JSON, jak pokazano na rysunku 5:
    {
       "greeting": "Hello"
    }
    


    Rysunek 5: Wyświetlanie informacji o wiadomości

  4. Kliknij „Zapisz test”.
  5. Kliknij „Opublikuj”, aby wysłać wiadomość na kanał „hello_greeting”. Dane wyjściowe zostaną wydrukowane w konsoli testowej:blok
    11:34:36  block: Deploying in regions: Eastern US,
       Western US, Asia, Central Europe.
    11:34:38  block: Module is now globally deployed. 
    11:34:41 publish: { "greeting": "Hello world!" }
    

Jak widać, powitanie mówi teraz „Witaj świecie!”.

Korzystanie z produkcyjnej konsoli programisty

Z poprzednich przykładów widać, że wbudowana konsola testowa jest wygodna, ale czasami zamiast tego można użyć produkcyjnej konsoli deweloperskiej, aby lepiej emulować środowisko produkcyjne. Aby użyć produkcyjnej konsoli programisty:

  1. Przejdź do Konsoli programisty PubNub.
  2. Ustaw „kanał” na „hello_greeting”.
  3. Ustaw klucze publikowania i subskrypcji na te z zestawu kluczy demonstracyjnych.
  4. Kliknij „Subskrybuj”.
  5. Kliknięcie przycisku Opublikuj tym razem powoduje wyświetlenie tych samych wyników produkcji, które klient widziałby w treści pokazanej na rysunkach 6 i 7:


    Rysunek 6: Publikowanie powitania


    Rysunek 7: Wiadomości produkcyjne

Wniosek

W PubNub jest o wiele więcej niż funkcje. Oferuje również ChatEngine, Data Stream Network, Realtime Messaging i wiele innych narzędzi przeznaczonych do rozwoju w czasie rzeczywistym. Jego usługi nie są całkowicie bezpłatne, ale prawdopodobnie są warte swojej ceny dla większości firm.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SCD typu 3

  2. Zatrzask DBCC_OBJECT_METADATA

  3. Czy powinienem używać NOT IN, OUTER APPLY, LEFT OUTER JOIN, EXCEPT lub NOT EXISTS?

  4. Porównanie SQL, konstruktorów zapytań i ORM

  5. Wyspy T-SQL Wyzwanie