Tämä opas auttaa sinua arvioimaan asynkronisten käsittelyvaatimusten oikean lähestymistavan Salesforce Platformissa. Se selittää kunkin lähestymistavan yksityiskohtaisesti sen vahvuudet ja rajoitukset. Useimmat lähestymistavat vastaavat tuoteominaisuutta, mutta jotkin lähestymistavat käyttävät koordinoinnissa useita ominaisuuksia. Ohje sisältää käyttöskenaarioita korostaakseen, milloin kunkin lähestymistavan tulisi olla käytössä.
Ei-synkronoitu käsittely tarjoaa kaksi tärkeää etua arkkitehtuurillesi. Ensinnäkin se parantaa skaalattavuutta, koska ei-synkronoiduilla prosesseilla on korkeammat hallintarajoitukset. Toiseksi ei-synkronoidut pyynnöt suoritetaan omissa ketjuissaan, jotta käyttäjät voivat tehdä muita töitä, kun ei-synkronoidut tehtävät suoritetaan taustalla.
Huomaa, että tämä opas keskittyy vain asynkronisen käsittelyteknologian valitsemiseen Salesforce Platformissa. Muut päätöksentekoprosessisi auttavat resurssit löytyvät Resurssit-osiosta.
| Salesforce Lightning Platform on kattava tekoälyn perustuva alusta, joka yhdistää työntekijät, itsenäiset tekoälyn agentit, yritystiedot ja sovellukset yhteen luotettuun järjestelmään tuottavuuden ja asiakaskokemuksen parantamiseksi. Se mahdollistaa "aktiivisen yrityksen" luomisen yhdistämällä Customer 360 -sovellukset, Data Cloudin ja Slackin kokonaisvaltaista automatisointia varten. |
Tämä asiakirja ei kata muiden ekosysteemien teknologioita, kuten MuleSoft, Informatica, Commerce Cloud, Tableau ja Marketing Cloud.
- Varmista ennen asynkronisen käsittelyn käyttämistä, että käyttötarkoituksesi vastaavat kuviota. Ei-synkronoiduilla kuvioilla ei ole palvelutasosopimusta, niihin sovelletaan useita hallintamekanismeja, niillä voi olla kapasiteettirajoituksia, jotka on määritetty lisenssien perusteella, ja ne voivat aiheuttaa käsittelyn viiveitä, koska Salesforce Platformissa ei-synkronoituun infrastruktuuriin kohdistetut resurssit ovat rajallisia. Ota seuraavat rajoitukset huomioon, kun käytät asynkronista käsittelyä skenaarioissa, joissa käyttäjä tarvitsee vastauksen järjestelmästä ennen kuin hän voi jatkaa töitään.
- Asynkroninen käsittely Salesforcen kanssa ei ole ratkaisu rajoittamattomaan skaalautumiseen. Salesforce Platform ei skaalaa loputtomiin ja ei-synkronoituja kuvioita on rajoitettu. Ei-synkronoitu käsittely käyttää ketjuja, jotka sisältävät asiayhteydestä riippuvaisia tietoja, joita CPU tarvitsee suorittaakseen ohjeiden viestiketjun. Ketjut voidaan suorittaa rinnakkain. CPU:ssa käytettävissä olevien ketjujen määrä on rajoitettu, joten alustalla on käytössä mekanismeja, joilla voidaan käyttää käytettävissä olevia ketjuja mahdollisimman tehokkaasti. Sovellusalustan kulkujen hallintajärjestelmä estää organisaatioita kuluttamasta liikaa ketjuja ja vaikuttamasta negatiivisesti muihin organisaatioihin. Lisäksi sovellusalustan reilun käytön algoritmi hallitsee organisaation käytettävissä olevien viestiketjujen määrää kullekin tietylle viestityypille.
- Tilin tapahtumat, jotka voivat aiheuttaa äärimmäisiä latauksia. Kun suunnittelet ei-synkronoituja prosesseja, varmista, että ne voivat hallita työkuormien ruuhka-aikoja ja ruuhka-aikoja ennakoitavalla tavalla. Mieti, miten toteutuksesi käsittelee odottamattomia tapahtumia, kuten sähkökatkoksia, ja suunnittele tietoturvatoimenpiteitä, jotka vähentävät datan katoamista tai toiminnallisuuden katoamista.
Tämä taulukko kuvaa työkalut, jotka ovat käytettävissä ei-synkronoitavaksi Salesforcen kanssa. Tutustu tähän taulukkoon nähdäksesi kunkin työkalun tärkeimmät ominaisuudet päätöksentekoprosessisi aikana. Lisätietoja arkkitehtuurillesi sopivien työkalujen valitsemisesta on kohdassa Käytä tapauksia ja päätöspisteitä.
| Lähestymistapa | Kuvaus | Vaaditut taidot | Lisenssit ja rajoitukset |
|---|---|---|---|
| Queueable Apex | Käytä prosesseissa, jotka sisältävät pitkäaikaisia tietokantaoperaatioita tai ulkoisten verkkopalveluiden callout-kutsuja. Jonotettava Apex tarjoaa ominaisuuksia, kuten työn tunnukset, ei-primitivisten tyyppien tuen ja työn ketjutuksen. | Pro-koodi | Lisenssien määrä voi kasvattaa rajoituksia. |
| Apex-erä | Laadi monimutkaisia ja pitkäaikaisia prosesseja, jotka sisältävät miljoonia tietueita, jakamalla tietuejoukkosi ja käsittelemällä sen hallittavissa oleviin osioihin. | Pro-koodi | Lisenssien määrä voi kasvattaa rajoituksia. |
| Ajoitettu Apex | Suorita Apex ajoitetulla ajankohdalla, jonka cron-lauseke määrittää. Vaikka Apexin ajoittaminen cron-lausekkeen kautta on asynkroninen prosessi, sen perustana oleva koodi suoritetaan synkronoidusti, kun työ käynnistyy. | Pro-koodi | Lisenssien määrä voi kasvattaa rajoituksia. |
| Apex Continuation -kutsut | Suorita callout-kutsuja Apex, jotka suoritetaan synkronoitujen transaktioiden asiayhteydessä. | Pro-koodi | Ei |
| Asynkroninen polku (tietueiden käynnistämät kulut) | Suorita toiminto, jonka haluat suorittaa omalla ajallaan. Vältä sekalaisia DML-virheitä, jotka tapahtuvat, kun päivität tietueeseen liittyvän arvon, joka ei kuulu kulun käynnistäneeseen tietueeseen. | Alhainen koodi | Lisenssien määrä ja tyyppi voivat kasvattaa rajoituksia. |
| Ajoitettu polku (kommittikulkujen jälkeen) | Suorita käynnistäneen tapahtuman jälkeen dynaamisesti ajoitettuun aikaan, esimerkiksi kun tietue luodaan, päivitetään tai poistetaan. | Alhainen koodi | Lisenssien määrä ja tyyppi voivat kasvattaa rajoituksia. |
| Ajoitetut kulut | Suorita kulku taustalla tiettynä aikana ja toistuvasti (päivittäin, viikoittain tai kerran) suorittaaksesi toimintoja tietueiden erälle. | Alhainen koodi | Lisenssien määrä ja tyyppi voivat kasvattaa rajoituksia. |
| Sovellusalustan tapahtumien käynnistimet | Liitä Salesforce vapaasti ulkoisiin järjestelmiin ja kommunikoi ei-synkronoitujen komponenttien välillä Salesforce Platformissa. | Low-code + Pro-code | Lisäosalisenssi vaaditaan raskaan sovellusalustan tapahtumien käyttötapauksissa |
| Muuta datan taltiointiin | Sieppaa ja käsittele muutostapahtumia ei-synkronoidusti, kun tietokantatransaktio on sitoutettu. | Pro-koodi | Ylisäosalisenssi vaaditaan perustason rajoituksen ylittymiseksi. |
| Bulk API | Lisää, päivitä, päivitä, kysele tai poista useita tietueita ei-synkronoidusti ja käsittele tulokset myöhemmin. | Pro-koodi | On olemassa rajoituksia. |
| Lightning-toiminnot | Salli Lightning vuorovaikuttaa palvelimen kanssa päivittämättä sivua kokonaan. | Alhainen koodi | Ei |
Tämä taulukko sisältää yleiskatsauksen huomioitavista asioista, kun päätät, mitä ei-synkronoitua työkalua käytetään.
| Vaaditut taidot | Jotkin tässä oppaassa kuvatut työkalut vaativat koodia, kun taas toiset voidaan määrittää deklaratiivisesti. Kun mietit vaihtoehtojasi, mieti, mitä taitoja tiimisi jäsenillä on. Pidä mielessäsi, että vaikka kehittäjiä olisi saatavilla alustavaa toteutustasi varten (esimerkiksi toteutuskumppanin kautta), sinun täytyy ehkä muokata ratkaisuja tulevaisuudessa. Jos huoltotiimilläsi ei ole kehittäjiä, vähäisen koodin vaihtoehto voi sopia sinulle paremmin. |
| Sovellusalustan rajoitusten tyypit | Määritä suoritukseen liittyvien rajoitusten tyyppi. Kun suunnittelet ratkaisuja, mieti huolellisesti, miten transaktioiden määrä ja yleisyys lasketaan valitun lähestymistavan hallintarajoituksiin joka päivä. Laske päivittäin tapahtuvien suoritusten määrä. Varmista, että lasketut arvot osuvat valittuihin työkaluihisi liittyviin rajoituksiin. |
| Viive | Määritä, kuinka nopeasti käsittelyn tulokset ovat käytettävissä alustassa. Joissakin lähestymistavoissa muutokset tapahtuvat lähes välittömästi, kun taas toisissa ne saattavat kestää minuutteja tai tunteja. |
Kun valitset asynkronista käsittelyä varten työkalun, arvioi ensin organisaatiosi vaatimukset ja käytettävissä olevat resurssit. Tavoitteenasi on valita työkalu tai työkalut, jotka minimoivat toteutuksen ja huoltokustannukset, mutta silti varmistavat skaalattavuuden ja minimoivat rikkomusten todennäköisyyden. Tämä tavoite riippuu aiemmin kuvatuista teknisistä huomioitavia asioita sekä tiimisi rakenteesta.
Harkitse asynkronista tilausprosessia Salesforcessa. Kun tilaus tallennetaan, se lähettää ulkoiseen varastonhallintajärjestelmään viestin, joka sisältää erityisiä ohjeita tuotteen pakkaamiseen ja lähettämiseen. Tilauksen tehnyt käyttäjä ei tarvitse välitöntä vastausta varaston hallintajärjestelmästä, joten pyyntö voidaan lähettää asynkronisesti. Ei-synkronoitu käsittely sallii käyttäjän jatkaa töitään odottamatta vastausta.
Tätä käyttötarkoitusta varten saatat haluta ottaa käyttöön Apexilla. Tämä lähestymistapa toimii vain, jos tiimisi sisältää Apex, jotka voivat ylläpitää koodiratkaisua. Muussa tapauksessa deklaratiivinen lähestymistapa on järkevämpää. Pidä myös mielessäsi, että eri työkaluille sovelletaan erilaisia rajoituksia.
Tämä taulukko kuvaa yleisimmät käyttötarkoitukset vasemmassa sarakkeessa ja sen jälkeen kuvauksen. Ensimmäinen valinta -sarake tarjoaa tyypillisimman lähestymistavan, jota käytetään tällaisen käyttötarkoituksen täyttämiseen, sekä ensimmäisen valinnan lähestymistavan perustelun. Käytä tätä aloituspistettä analyysissäsi — First Choice -menetelmällä voi olla rajoituksia, jotka eivät toimi käyttötarkoituksessasi.
| Käyttöskenaario | Kuvaus | Ensimmäisen vaihtoehdon lähestymistapa | Johdanto |
|---|---|---|---|
| Suorituskykyinen eräkäsittely | Mikä tahansa automaatio, jonka täytyy käsitellä tuhansia tai miljoonia tietueita tehokkaasti | Erä-Apex | Erä Apex tarjoaa kattavia API-rajapintoja sovellusalustan ja raaka-aikojen yhteydenottoon. |
| Datan puhdistustyö | Työ, joka suoritetaan rutiininomaisesti tai tarvittaessa ja joka puhdistaa dataa. Esimerkkejä ovat identtisten tietueiden poistaminen, osoitteen vahvistus tai datan yhdistäminen. | Erä-Apex | Erä Apex tarjoaa kattavia API-rajapintoja sovellusalustan ja raaka-aikojen yhteydenottoon. |
| Yön yhteenvetotyö | Työ, joka laskee yhteenvetotiedot arkipäivän lopussa. | Erä-Apex | Erä Apex tarjoaa kattavia API-rajapintoja sovellusalustan ja raaka-aikojen yhteydenottoon. |
| Tietueiden käynnistämä logiikka | Suorita logiikkaa vastauksena tietueen päivitykseen. | Varioi | Lisätietoja on tietueiden käynnistämien tapahtumien automatisoinnissa. Se sisältää asynkronisten käyttötarkoitusten päätöspuheen, mukaan lukien Queueable Apex, Erä Apex, Ajoitettu Apex, Ajoitettu kulku, Asynkroniset polun kulut ja Muutosdatan datan taltiointi |
| Päivitysten lisääminen objektikaavion kautta | Sallii käyttäjän suorittaa tallennustoiminnon nopeasti ja lykkää muiden objektien päivitysten asynkronista suoritusta. | Jonotettava Apex | Jonossa oleva Apex sisältää tehokkaita ketjutusominaisuuksia, jotka sallivat logiikan jakaa päivitysketjun sarjaan ei-synkronoituja tapahtumia. |
| Tietuekohtainen ajoitettu käsittely | Automatisointi tulevassa, tietueeseen liittyvässä dynaamisessa päivämäärässä (esimerkiksi 3 päivää ennen sulkemispäivää). | Ajoitetun polun sisältävä kulku | Ajoitetut polut tarjoavat kululle ainutlaatuisen vahvuuden, koska sovellusalusta käsittelee automaattisesti näiden polkujen ajoituksen, peruutuksen ja uudelleenajoituksen, jos tietueen data muuttuu. |
| Ulkoisten ulkoisten palveluiden käynnistäminen rinnakkain | Synkronoidun suorituksen aikana useita ulkoisia palveluita kutsutaan rinnakkain suorituksen kokonaisajan optimoimiseksi. | Jatkokutsut Apexissa | Jos sallit useiden hitaasti suoritettavien callout-kutsujen suorituksen rinnakkain, työn suoritusaika vähenee. |
| Datan siirtäminen tietueista ulkoisesta järjestelmästä | Siirrä suuria määriä tietueita Salesforce Platformiin ulkoisesta järjestelmästä. Joko kertaluonteinen tai säännöllisesti ajoitettu prosessi. | Bulk API | Tämä on tehokkain ja rajoittavampi tapa siirtää tietoja. |
| Lisälogiikan suorittaminen ulkoiselle järjestelmälle | Sytyttävä ja unohdettu -kuvio, joka ilmoittaa ulkoiselle järjestelmälle sovellusalustan tapahtumasta ja sallii järjestelmän käsitellä tapahtuman asynkronisesti. | Sovellusalustan tapahtumat tai muutostietojen taltiointi | Pub-sub-malli toimii parhaiten tässä tapauksessa ja sallii ulkoisen järjestelmän käsitellä tapahtuman, kun se on valmis. Lisätietoja tästä kuviosta on kohdassa Tapahtumiin perustuva arkkitehtuuri. |
Käyttöskenaariot-taulukko on opas jokaiselle käyttöskenaariolle sopivimpaan lähestymistapaan. Sinun täytyy kuitenkin vahvistaa, miten hyvin First Choice -teknologia soveltuu käyttötarkoituksiisi. Tarkasta erityisesti, voiko valittu lähestymistapa noudattaa organisaatiosi hallintarajoituksia.
Kun olet tunnistanut käyttötarkoitukseesi sopivan lähestymistavan, Asynkronisen käsittelyn perusteet -opas voi auttaa ratkaisun tarkastamisessa.
Nämä lisäresurssit voivat auttaa päätöksentekoprosessissasi:
- Syvenny kaikkiin sovellusalustan asynkronisiin teknologioihin: Asynkronisen käsittelyn perusteet
- Apex- ja Kulku-vaihtoehtojen valitseminen tietueiden käynnistimille: Tietueiden käynnistämien tapahtumien automatisointi
- Tietoja ei-synkronoiduista integraatiokuvioista: Tapahtumiin perustuva arkkitehtuuri