sql >> Database teknologi >  >> RDS >> Database

En guide til PubNub-funktioner

De utrolige hastigheder, som nutidens moderne internetforbindelser opnår, har lettet udbredelsen af ​​realtidsapplikationer. Disse er applikationer, der fungerer inden for en tidsramme, der er hurtig nok til, at brugeren fornemmer deres svar som værende umiddelbare til alle praktiske formål. Derfor skal latensen være inden for sekunder eller endda brøkdele af et sekund.

Indtil for nylig har udvikling af realtids-apps været noget af en smerte og krævet en stor ingeniørindsats. Det er fordi, for at bygge enhver form for realtidsfunktionalitet, skal du etablere en tovejsforbindelse mellem klient og server for at sende beskeder over. PubNub leverer API'er i realtid og global meddelelsesinfrastruktur for at forenkle kodningen af ​​dine realtidsapps. Den bruger en Publish/Subscribe-model til realtidsdatastreaming og enhedssignalering, som giver dig mulighed for at etablere og vedligeholde vedvarende stikforbindelser til enhver enhed og skubbe data til globale målgrupper på mindre end et kvart sekund. Du kan udgive beskeder til enhver given kanal, og klienter, der abonnerer, modtager kun beskeder knyttet til den kanal. Meddelelsesnyttelasten kan indeholde alle JSON-datatyper, herunder tal, strenge, arrays og objekter.

I dagens artikel bygger og tester vi en hilsenfunktion ved at bruge PubNub-konsollen.

Gennemgang

PubNub har online konsoller til at udvikle og administrere hver komponent i dine projekter og moduler fra API-nøgler til fejlretningsindstillinger. Derfor vil alt, hvad vi vil gøre i dag, foregå på PubNub-siden.

  1. Lad os starte med at oprette en konto. Hvis du allerede har en Google-konto, kan du bruge den til at angive dine legitimationsoplysninger.
  2. På administrationskonsollen kan du se, at der allerede er oprettet et demoprojekt til dig. Klik på det for at åbne projektet i konsollen.
  3. Der kan du se dit demonøglesæt. Klik nu på den for at få adgang til detaljerne.
  4. Under Application Add-ons nederst på skærmen kan du se en række muligheder. Aktiver PubNub-funktioner, som vist i figur 1:


    Figur 1: Aktivering af PubNub-funktioner

  5. Gem-knappen vises i nederste venstre hjørne af skærmen. Klik på den for at gemme dine ændringer.
  6. Nu opretter vi et app-modul. Klik på PubNub-funktioner i menuen til venstre for at få vist skærmbilledet PubNub-funktioner (se figur 2):


    Figur 2: Skærmbilledet PubNub-funktioner

  7. I dialogboksen Opret nyt modul skal du indtaste "Hilsen" i feltet "Indtast et nyt appnavn". Klik på knappen 'Opret nyt modul', som du kan se i figur 3:


    Figur 3: Oprettelse af et nyt modul

    Du bør modtage en "Nyt modul blev oprettet med succes"-meddelelse øverst på siden.

  8. Derefter koder vi funktionen. Inden for konteksten af ​​en realtidsapp er funktionen det sted, hvor vi placerer logikken, der kører imod beskeden. Klik på knappen ‘+ OPRET’ for at oprette en ny funktion.
  9. I dialogboksen Ny funktion skal du indtaste "Vis hilsen" for "Funktionsnavn", vælg "Før udgivelse eller udløs" for "Funktionstype", og indtast "display_greeting" for "Kanalnavn" (se figur 4) ):


    Figur 4: Fuldførelse af oprettelsessekvensen

  10. Klik på 'Opret'.

Editoren til display hilsenmodul vises. Det vil vise funktionen Vis hilsen i editoren med et grundlæggende skelet. Lige nu er det eneste, det gør, at logge anmodningen og returnere anmodningen som en løftelø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 den foregående kode:

  • Anmodningsparameteren indeholder PubNub-meddelelseskonvolutobjektet.
  • Brødteksten i funktionen importerer nogle få biblioteker, logger anmodningen og returnerer anmodningen som en løfteløsning. (Returning request.ok() svarer til returnering af Promise.resolve(request)).

Denne funktion kører hver gang meddelelsen kommer ind i PubNub Data Stream Network, men før den replikeres yderligere og distribueres til abonnenter, fordi dens type er 'Før publicering'.

Nu vil vi ændre funktionskoden for at tilføje et navn til standard "Hej"-meddelelsen.

  1. I funktionskodeeditoren skal du erstatte console.log-linjen med følgende:
    request.message.greeting += " world!";
  2. Klik på "Gem".
  3. Lad os nu teste vores funktion. I feltet "Test nyttelast" skal du indtaste følgende JSON-literal, som vist i figur 5:
    {
       "greeting": "Hello"
    }
    


    Figur 5: Viser meddelelsesoplysningerne

  4. Klik på 'Gem test'.
  5. Klik på 'Udgiv' for at sende beskeden til kanalen 'hello_greeting'. Output vil blive udskrevet til testkonsollen:
    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 du kan se, siger hilsenen nu "Hej verden!".

Brug af produktionsudviklerkonsollen

Du kan se fra de foregående eksempler, at den indbyggede testkonsol er praktisk, men nogle gange vil du måske bruge produktionsudviklerkonsollen i stedet for bedre at efterligne et produktionsmiljø. Sådan bruger du produktionsudviklerkonsollen:

  1. Naviger til PubNub Developer Console.
  2. Indstil 'kanalen' til "hello_greeting".
  3. Indstil udgivelses- og abonnentnøglerne til dem i Demo-nøglesættet.
  4. Klik på 'Abonner'.
  5. Hvis du klikker på knappen Udgiv denne gang, vises det samme produktionsoutput, som din klient ville se indholdet vist i figur 6 og 7:


    Figur 6: Udgiver hilsenen


    Figur 7: Produktionsmeddelelser

Konklusion

Der er meget mere til PubNub end funktioner. Det tilbyder også en ChatEngine, Data Stream Network, Realtime Messaging og mange andre værktøjer rettet mod udvikling i realtid. Dens tjenester er ikke helt gratis, men de er sandsynligvis prisen værd for de fleste virksomheder.


  1. Hvad er rækkefølgen af ​​poster i en tabel med en sammensat primærnøgle

  2. NEXT_DAY() Funktion i Oracle

  3. Oracle Trigger WHEN-klausuleksempel

  4. Beregning af løbende total med OVER-klausul og PARTITION BY-klausul i SQL Server