Puŝaj sciigoj estas esenca merkata ilo por iu ajn kun poŝtelefona aplikaĵo.
Ĝi estas la plej bona maniero komuniki kun viaj uzantoj, sendante urĝajn mesaĝojn al iliaj poŝtelefonoj.
Poŝtelefono povas sendi al uzanto puŝan sciigon, kiu estas mallonga pop-up mesaĝo kiu aperas sur ilia inteligenta telefono eĉ kiam la programo ne estas malfermita.
Ĉi tiuj atentigoj povas inkluzivi memorigilojn, ĝisdatigojn, rabatojn kaj pli.
Ili estas kreitaj por kapti la okulojn de uzantoj. Titolo, mesaĝo, bildo kaj URL estas ĉiuj eblaj komponantoj de puŝa sciigo. Emojis, emblemoj kaj aliaj aferoj ankaŭ povas esti parto de ili.
Operaciumoj kiel Apple OS kaj Google Android havas diversajn interfacojn por puŝaj sciigoj.
Puŝaj sciigoj povas esti uzataj por antaŭenigi engaĝiĝon, akceli la uzadon de aplikaĵoj, influi konvertiĝojn kaj multe pli.
La elektoj estas vere senlimaj.
Puŝaj sciigoj por porteblaj aparatoj, ankaŭ konataj kiel puŝaj sciigoj por porteblaj aparatoj, povas kompletigi vian uzadon de kanaloj kiel retpoŝto, SMS kaj interretaj puŝaj sciigoj kun kelkaj specialaj avantaĝoj.
Vi ricevos rapidan priskribon de la sciiga servo en ĉi tiu afiŝo kaj informojn pri ĝia objektiva, altnivela dezajno, specialaj funkcioj kaj pli.
objektiva
Evoluigi sciigan servon, kiu povas efike distribui produkt-al-uzantmesaĝojn tra diversaj kanaloj
postuloj:
- Sendante API: Publikigu rajtigitan finpunkton por ke ajna backend kaj mikroservo povas komenci liveri sciigojn.
- Kongruaj Kanaloj: Subtenu liverado de atentigoj al iu ajn kanalo, kiu publikigas API, kiel retpoŝton, tekstmesaĝon kaj puŝon.
- Preferoj de la uzanto: Permesu al uzantoj elekti siajn preferojn de uzanto por ĉiu kanalo kaj sciigo.
- Limoj por laŭflua servokonformeco: Evitu havi vian retpoŝto aŭ SMS-servo estralligita aŭ haltigita.
- Skalebla: Permesu (teorie) senfinan horizontalan skaladon.
Altnivela Arkitekturo
Ni diru, ke via kodo devas sciigi iun:
- La POST /send finpunkto estas alvokita de via kodo. Por ĉiu disponebla kanalo, la peto inkluzivas la uzantIdon de la ricevanto, la tipon de la sciigo kaj ĝian enhavon.
- La Fluo de Akreditaĵoj de Kliento de OAuth2 estas uzata de la finpunkto /send por aŭtentikigi la peton.
- La sciigelektoj de la uzanto tiam estas petitaj de la datumbazo. La preferoj montras ĉu aŭ ne la uzanto estas abonita al certa kanalo kaj sciigo.
- El la datumbazo, ĝi legos uzantkarakterizaĵojn kiel retpoŝtadresojn kaj telefonnumerojn.
- Ĉi tiu finpunkto kreos mesaĝan objekton, kiu inkluzivas uzantkarakterizaĵojn, kanalojn kaj kanal-specifan enhavon. Ĝi tamen ne inkluzivos malaktivigitajn kanalojn. La mesaĝo tiam estas liverita al adoranta servo.
- Alvenantaj mesaĝoj estas disvastigitaj al laborvicoj per la fanout-servo. Filtrilo ekzistas, tamen, por ignori laborvicojn por kanaloj, kiuj ne estas specifitaj en la mesaĝo.
- Ĉiu kanalo havas procesoron kaj laborvicon. La procesoro prenas la taskon kaj tiam petas la taŭgan servon, kiel transakcian retpoŝton aŭ SMS-servon.
Ĉefaj Arkitekturaj elementoj
POST/sendis
Vi eble tre bone rimarkis, ke nur la uzantIdo kaj nek la retadreso nek telefonnumero estas inkluzivitaj en la peto al ĉi tiu finpunkto. Ĉi tio ebligas la sciigajn servojn resti anonimaj al viaj uzantoj.
Por certigi skaleblon, la finpunkto estas metita malantaŭ a ŝarĝa ekvilibro.
Via tipa uzant-alfronta aŭtentigo ne provizas protekton por la finpunkto.
Vi devas uzi klaran aŭtentikigmetodon konatan kiel la OAuth2 Kliento-Akreditaĵo Fluo uzata por servilo-al-servilo komunikado ĉar la servo kiu sendas la peton estas la programaro mem.
Via aplikaĵo provizos sciigojn en multaj malsamaj lokoj. Vi povas uzi la sendan funkcion preskaŭ ie ajn, kiel de nova kodbazo aŭ via konstrua laborfluo, efektivigante ĝin kiel finpunkton malantaŭ ŝarĝo-balancilo, kiu garantias ke ĝi estas sendepende skalebla.
PUT/uzantpreferoj
Uzu ŝlosilon/valoran paron aŭ NoSQL-datumbazon, kiu estas ege skalebla. Formatu la rekordojn jene: KEY: ekzempla uzantidentigilo:ekzempla sciiga id, VALORO: ["retpoŝto", "stato: vera", "SMS", "stato: falsa", kanalo: "retpoŝto", "retpoŝto", ŝtato : vera”]
Se "falsaj" valoroj ĉeestas en la rekordoj, la elsenda finpunkto ekskludos la ekvivalentan kanalon de la mesaĝo liverita al la fanout. Se ne estas rekordo por kanalo, la uzanto ne eksplicite indikis siajn preferojn. Vi devas konsenti pri defaŭlto en ĉi tiu scenaro.
La uzanto povas modifi la datumojn en la uzantpreferdatumbazo uzante vian UI kaj regulan finpunkton, kiu estas sekurigita per viaj normaj aŭtentikigproceduroj.
Uzantoj koleros kaj estos devigitaj indiki viajn atentigojn kiel spamon aŭ silentigi ilin se vi ne donas al ili la eblon ŝanĝi iliajn sciigajn preferojn. Via uzantsperto estos plu damaĝita kiel rezulto, kaj retpoŝtaj aŭ SMS-liverservoj povus suspendi vian konton.
Fan Out
Fanout kopias mesaĝon kaj distribuas ĝin al malsamaj lokoj. Ili estas atingeblaj kaj tre skaleblaj. Uzu SNS en AWS. Uzu Pub/Sub en Azure kaj temojn kaj abonojn en Google Cloud Platform.
Por malhelpi sendi sencelajn mesaĝojn al ekskluditaj kanalaj laborvicoj, vi povas agordi filtradon inter la fanout kaj laborvicoj. Ekzemple, en AWS SNS, vi povas specifi, ke la retpoŝta laborvico nur ricevu la fanout-mesaĝon se ĝi havas la "retpoŝton" valoron en la kampo "kanaloj".
Eĉ se vi povus krei kodon por sendi la identan mesaĝon al la postulataj laborvicoj, fanout estas pli efika kaj postulas malpli da kodigo. Fanout ankaŭ ofertas la oportunon aldoni kaj forigi vostojn, permesante vin etendi kaj reorganizi viajn kanalojn.
Labortraktado
Mesaĝoj estas konservitaj en atendovicoj pritraktataj de viaj laborprocesoroj. Ili ankaŭ estas atingeblaj kaj tre skaleblaj. Laborprocesoroj estas pecoj de kodo kiuj prilaboras mesaĝojn de la laborvicoj. Depende de la volumo de mesaĝoj en la atendovico, ili povas grimpi.
La laborprocesoro devus fari API-vokon al la taŭga provizanto por liveri la avizon en nia scenaro per transakcia retpoŝta servo.
La plimulto de retpoŝtaj, SMS, kaj similaj mesaĝaj liveraj provizantoj havas striktajn postulojn por la kvanto kaj kalibro de mesaĝoj, kiujn vi sendas. Aldone, vi volas ekzameni ĉi tiujn kaj starigi taŭgajn procedurojn ĝisfunde. Jen nia konsilo pri kiel eviti esti eksigita de AWS SES.
Vi povas difini maksimuman nombron da laborprocesoroj por malhelpi superi la tariflimojn de la liverservoj.
Pliaj Pliboniĝoj
Vi povas rigardi multajn ĉi tiujn aĵojn.
- Ili bezonas siajn proprajn APIojn, tabelojn, ktp. por havi skaleblan en-appan sciigan servon.
- Kolekti kaj montri la malferman/klakan raporton
- Forigi la enhavon de la sciigoj de la kodo kaj lasi vian produkton kaj dezajnteamon modifi la atentigojn vide anstataŭe sen kodŝanĝo
- Sen ŝanĝi ajnan kodon, via teamo povas uzi la panelon por aktivigi aŭ malŝalti sciigojn por iuj kanaloj.
Avantaĝoj de Puŝa sciigo
- Akceli Uzantan Interago: Ĝisdatigoj kaj freŝa materialo tenos viajn uzantojn interesitaj.
- Plifortigu la Videblecon pri Komunikado: Certigu, ke viaj mesaĝoj estu tuj ricevitaj, eĉ kiam homoj ne aktivas. Sendu urĝajn sciigojn kaj donu al uzantoj glatan sperton.
- Konservu Retenadon: Uzu puŝajn sciigojn, kiuj estas klare videblaj, por instigi viajn uzantojn reveni. Vi povas pliigi la retenon de uzantoj kaj redukti la forpuŝon puŝante klientojn reen al via retejo kaj aplikaĵo.
- Plibonigi Konvertiĝojn: Kreante puŝajn kampanjojn ĉirkaŭ en-apaj premioj, promocioj, rabatoj aŭ aliaj ofertoj, vi povas pliigi vendojn.
- Skali Vian Entreprenon: Via komunika aliro devas grimpi dum via spektantaro pligrandiĝas. Dum via klientbazo pligrandiĝas, puŝaj sciigoj estas efika metodo por resti en kontakto kun ili.
- Konektigu la uzantan sperton (UX): Provizante transakciajn atentigojn al konsumantoj por konservi ilin informitaj kaj provizi glatan transkanalan sperton, vi povas redukti frotadon dum la klienta vojaĝo.
konkludo
Konklude, ni akiris scion pri la arkitekturo de skalebla puŝa sciiga servo. Ni ankaŭ rigardis la ilojn provizitajn de ĉiuj ĉefaj provizantoj de nuba servo por ke vi povu bazi viajn sciigojn sur ĉi tiuj.
Malgraŭ la fakto, ke mi provis mian plejeblon por provizi al vi superrigardon pri la arkitekturo de puŝa sciiga sistemo, ekzistas multe pli malantaŭ la scenoj.
Mi elkore esperas, ke vi trovos ĉi tiun informon utila kaj bone utiligos ĝin.
Lasi Respondon