sql >> Databasteknik >  >> RDS >> Database

En guide till PubNub-funktioner

De otroliga hastigheterna som uppnås med dagens moderna internetanslutningar har underlättat spridningen av realtidsapplikationer. Det här är applikationer som fungerar inom en tidsram som är tillräckligt snabb för att användaren uppfattar sina svar som omedelbara för alla praktiska ändamål. Därför måste latensen vara inom sekunder eller till och med bråkdelar av en sekund.

Fram tills nyligen har det varit jobbigt att utveckla realtidsappar och krävt en stor ingenjörsinsats. Det beror på att för att bygga någon form av realtidsfunktionalitet måste du upprätta en dubbelriktad anslutning mellan klient och server för att skicka meddelanden över. PubNub tillhandahåller realtids-API:er och global meddelandeinfrastruktur för att förenkla kodningen av dina realtidsappar. Den använder en Publish/Prenumerera-modell för realtidsdataströmning och enhetssignalering som låter dig upprätta och underhålla beständiga socket-anslutningar till vilken enhet som helst och skicka data till globala publiker på mindre än en kvarts sekund. Du kan publicera meddelanden till vilken kanal som helst, och prenumererande klienter får bara meddelanden som är kopplade till den kanalen. Meddelandets nyttolast kan innehålla alla JSON-datatyper inklusive siffror, strängar, arrayer och objekt.

I dagens artikel kommer vi att bygga och testa en hälsningsfunktion genom att använda PubNub-konsolen.

Genomgång

PubNub har onlinekonsoler för att utveckla och hantera varje komponent i dina projekt och moduler från API-nycklar till felsökningsinställningar. Därför kommer allt vi kommer att göra idag att äga rum på PubNub-webbplatsen.

  1. Låt oss börja med att skapa ett konto. Om du redan har ett Google-konto kan du använda det för att ange dina referenser.
  2. På administratörskonsolen ser du att ett demoprojekt redan har skapats åt dig. Klicka på den för att öppna projektet i konsolen.
  3. Där ser du din Demo Keyset. Klicka nu på den för att komma åt dess detaljer.
  4. Under Programtillägg längst ned på skärmen ser du ett antal alternativ. Aktivera PubNub-funktioner, som visas i figur 1:


    Figur 1: Aktivera PubNub-funktioner

  5. Knappen Spara visas i det nedre vänstra hörnet av skärmen. Klicka på den för att spara dina ändringar.
  6. Nu skapar vi en appmodul. På menyn till vänster klickar du på PubNub-funktioner för att visa skärmen PubNub-funktioner (se figur 2):


    Figur 2: Skärmen PubNub-funktioner

  7. I dialogrutan Skapa ny modul anger du "Hälsning" i fältet "Ange ett nytt appnamn". Klicka på knappen "Skapa ny modul", som du kan se i figur 3:


    Figur 3: Skapa en ny modul

    Du bör få ett meddelande om "Ny modul skapad framgångsrikt" högst upp på sidan.

  8. Närnäst kodar vi funktionen. Inom ramen för en realtidsapp är funktionen där vi placerar logiken som körs mot meddelandet. Klicka på knappen "+ SKAPA" för att skapa en ny funktion.
  9. I dialogrutan Ny funktion anger du "Visa hälsning" för "Funktionsnamn", välj "Före publicering eller aktivera" för "Funktionstyp" och skriv in "display_greeting" för "Kanalnamn" (se figur 4) ):


    Figur 4: Slutför skapa-sekvensen

  10. Klicka på "Skapa".

Redigeraren för Display Greeting Module visas. Det kommer att visa hälsningsfunktionen i editorn med ett grundläggande skelett. Just nu är allt det gör att logga begäran och returnera begäran som en löfteslösning :

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

I föregående kod:

  • Begäransparametern innehåller PubNub-meddelandekuvertobjektet.
  • Kroppen i funktionen importerar några bibliotek, loggar begäran och returnerar begäran som en löfteslösning. (Att returnera request.ok() motsvarar att returnera Promise.resolve(request)).

Den här funktionen kommer att köras varje gång meddelandet kommer in i PubNub Data Stream Network, men innan det replikeras ytterligare och distribueras till prenumeranter, eftersom dess typ är "Innan publicering".

Nu kommer vi att ändra funktionskoden för att lägga till ett namn till standardmeddelandet "Hej".

  1. I funktionskodredigeraren, ersätt raden console.log med följande:
    request.message.greeting += " world!";
  2. Klicka på "Spara".
  3. Nu ska vi testa vår funktion. I fältet "Test nyttolast" anger du följande JSON-literal, som visas i figur 5:
    {
       "greeting": "Hello"
    }
    


    Figur 5: Visar meddelandeinformationen

  4. Klicka på "Spara test".
  5. Klicka på "Publicera" för att skicka meddelandet till kanalen "hello_greeting". Utdata kommer att skrivas ut till testkonsolen:
    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!" }
    

Som ni kan se säger hälsningen nu "Hej världen!".

Använda produktionsutvecklarkonsolen

Du kan se från de föregående exemplen att den inbyggda testkonsolen är bekväm, men ibland kanske du vill använda produktionsutvecklarkonsolen istället för att bättre efterlikna en produktionsmiljö. Så här använder du produktionsutvecklarkonsolen:

  1. Navigera till PubNub Developer Console.
  2. Ställ in "kanalen" på "hello_greeting".
  3. Ställ in publicerings- och prenumerationsnycklarna till dem i Demo Keyset.
  4. Klicka på "Prenumerera".
  5. Om du klickar på knappen Publicera den här gången visas samma produktionsutdata som din klient skulle se innehållet som visas i figurerna 6 och 7:


    Figur 6: Publicerar hälsningen


    Figur 7: Produktionsmeddelanden

Slutsats

Det finns mycket mer i PubNub än funktioner. Den erbjuder också en ChatEngine, Data Stream Network, Realtime Messaging och många andra verktyg som syftar till realtidsutveckling. Dess tjänster är inte helt gratis, men är förmodligen väl värda kostnaden för de flesta företag.


  1. Vad är data och information och datavolymer

  2. Introduktion till temporära tabeller i SQL Server

  3. Hur man hittar waitevent History of the Oracle-session

  4. PostgreSQL komprimerade arkivloggar i Windows