sql >> Databáze >  >> RDS >> Database

Průvodce funkcemi PubNub

Neuvěřitelné rychlosti dosahované dnešními moderními internetovými připojeními usnadnily šíření aplikací v reálném čase. Jedná se o aplikace, které fungují v časovém rámci, který je dostatečně rychlý, aby uživatel vnímal jejich reakce jako okamžité pro všechny praktické účely. Latence tedy musí být v rámci sekund nebo dokonce zlomků sekundy.

Až donedávna byl vývoj aplikací v reálném čase určitou bolestí a vyžadoval velké inženýrské úsilí. Je to proto, že pro vytvoření jakékoli funkce v reálném čase musíte vytvořit obousměrné spojení mezi klientem a serverem, přes které budete odesílat zprávy. PubNub poskytuje rozhraní API v reálném čase a globální infrastrukturu pro zasílání zpráv pro zjednodušení kódování vašich aplikací v reálném čase. Využívá model Publish/Subscribe pro streamování dat v reálném čase a signalizaci zařízení, která vám umožní vytvořit a udržovat trvalá soketová připojení k jakémukoli zařízení a odeslat data globálnímu publiku za méně než čtvrt sekundy. Zprávy můžete publikovat na libovolném daném kanálu a klienti, kteří se přihlašují k odběru, obdrží pouze zprávy spojené s tímto kanálem. Obsah zprávy může obsahovat libovolné datové typy JSON včetně čísel, řetězců, polí a objektů.

V dnešním článku vytvoříme a otestujeme funkci pozdravu pomocí konzole PubNub.

Návod

PubNub má online konzoly pro vývoj a správu každé součásti vašich projektů a modulů od klíčů API po nastavení ladění. Proto vše, co dnes uděláme, se bude odehrávat na stránce PubNub.

  1. Začněme vytvořením účtu. Pokud již máte účet Google, můžete jej použít k poskytnutí svých přihlašovacích údajů.
  2. V administrátorské konzoli uvidíte, že pro vás již byl vytvořen ukázkový projekt. Kliknutím na něj otevřete projekt v konzole.
  3. Tam uvidíte svou ukázkovou sadu klíčů. Nyní na něj klikněte, abyste získali přístup k jeho podrobnostem.
  4. V části Doplňky aplikace v dolní části obrazovky uvidíte řadu možností. Povolte funkce PubNub, jak je znázorněno na obrázku 1:


    Obrázek 1: Povolení funkcí PubNub

  5. V levém dolním rohu obrazovky se zobrazí tlačítko Uložit. Kliknutím na něj uložíte změny.
  6. Nyní vytvoříme modul aplikace. V nabídce vlevo klikněte na Funkce PubNub a vyvolejte obrazovku Funkce PubNub (viz obrázek 2):


    Obrázek 2: Obrazovka Funkce PubNub

  7. V dialogovém okně Vytvořit nový modul zadejte „Pozdrav“ do pole „Zadejte název nové aplikace“. Klikněte na tlačítko „Vytvořit nový modul“, jak můžete vidět na obrázku 3:


    Obrázek 3: Vytvoření nového modulu

    V horní části stránky byste měli obdržet oznámení „Nový modul byl úspěšně vytvořen“.

  8. Dále nakódujeme funkci. V kontextu aplikace v reálném čase je funkce místem, kam umísťujeme logiku, která běží proti zprávě. Kliknutím na tlačítko „+ VYTVOŘIT“ vytvoříte novou funkci.
  9. V dialogovém okně Nová funkce zadejte „Display Greeting“ jako „Název funkce“, zvolte „Before Publish or Fire“ jako „Typ funkce“ a zadejte „display_greeting“ jako „Název kanálu“ (viz obrázek 4 ):


    Obrázek 4: Dokončení sekvence vytváření

  10. Klikněte na tlačítko Vytvořit.

Zobrazí se editor modulu zobrazení pozdravu. Zobrazí funkci zobrazení pozdravu v editoru se základní kostrou. V tuto chvíli vše, co dělá, je zaprotokolovat požadavek a vrátit požadavek jako řešení příslibu :

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();
}

V předchozím kódu:

  • Parametr požadavku obsahuje objekt obálky zprávy PubNub.
  • Tělo funkce importuje několik knihoven, zaprotokoluje požadavek a vrátí požadavek jako řešení slibu. (Vrácení request.ok() je ekvivalentní vrácení Promise.resolve(request)).

Tato funkce se spustí pokaždé, když zpráva vstoupí do sítě PubNub Data Stream, ale předtím, než bude dále replikována a distribuována předplatitelům, protože její typ je „Před zveřejněním“.

Nyní upravíme kód funkce tak, aby se k výchozí zprávě „Ahoj“ přidal název.

  1. V editoru kódu funkce nahraďte řádek console.log tímto:
    request.message.greeting += " world!";
  2. Klikněte na tlačítko Uložit.
  3. Nyní otestujeme naši funkci. Do pole ‚Test Payload‘ zadejte následující literál JSON, jak je znázorněno na obrázku 5:
    {
       "greeting": "Hello"
    }
    


    Obrázek 5: Zobrazení informací o zprávě

  4. Klikněte na tlačítko Uložit test.
  5. Kliknutím na tlačítko „Publikovat“ odešlete zprávu do kanálu „hello_greeting“. Výstup bude vytištěn na testovací konzoli:
    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 můžete vidět, pozdrav nyní říká „Ahoj světe!“.

Použití konzole Production Developer Console

Z předchozích příkladů můžete vidět, že vestavěná testovací konzola je pohodlná, ale někdy můžete místo ní použít konzolu pro produkční vývojáře k lepší emulaci produkčního prostředí. Chcete-li použít produkční vývojářskou konzoli:

  1. Přejděte do vývojářské konzole PubNub.
  2. Nastavte „kanál“ na „hello_greeting“.
  3. Nastavte klíče pro publikování a přihlášení na klíče ukázkové sady klíčů.
  4. Klikněte na tlačítko Přihlásit se k odběru.
  5. Kliknutím na tlačítko Publikovat tentokrát zobrazíte stejný produkční výstup, jaký by váš klient viděl obsah zobrazený na obrázcích 6 a 7:


    Obrázek 6: Publikování pozdravu


    Obrázek 7: Produkční zprávy

Závěr

PubNub nabízí mnohem více než funkce. Nabízí také ChatEngine, Data Stream Network, Realtime Messaging a mnoho dalších nástrojů zaměřených na vývoj v reálném čase. Jeho služby nejsou zcela zdarma, ale pro většinu podniků pravděpodobně stojí za to.


  1. Prohlášení ORACLE IIF

  2. Jednoduchá parametrizace a triviální plány — 2. část

  3. java.sql.SQLException:- ORA-01000:překročen maximální počet otevřených kurzorů

  4. MYSQL sum() pro různé řádky