Denna guide hjälper dig utvärdera rätt metod för dina asynkrona bearbetningskrav på Salesforce Platform. Den förklarar varje tillvägagångssätt och beskriver styrkor och begränsningar för varje tillvägagångssätt. De flesta metoder är anpassade till en produktfunktion, men vissa metoder använder flera funktioner i samordning. Guiden innehåller användningsfall för att lyfta fram när varje metod ska användas.

Asynkron bearbetning ger två stora fördelar för din arkitektur. För det första ökar det skalbarheten eftersom asynkrona processer har högre styrande gränser. Sedan körs asynkrona begäranden i sina egna trådar så att användare kan utföra annat arbete medan de asynkrona uppgifterna körs i bakgrunden.

Observera att denna guide endast fokuserar på att välja en asynkron bearbetningsteknik inom Salesforce Platform. Andra resurser för att hjälpa din beslutsprocess visas i sektionen Resurser.

Salesforce Platform Salesforce Lightning Platform är en omfattande, AI-driven plattform som samlar anställda, autonoma AI-agenter, företagsdata och program i ett enda, tillförlitligt system för att förbättra produktiviteten och kundupplevelsen. Det gör det möjligt att skapa ett "agentföretag" genom att ansluta Customer 360 appar, Data Cloud och Slack för automatisering från början till slut.

Detta dokument täcker inte tekniker i andra ekosystem som MuleSoft, Informatica, Commerce Cloud, Tableau och Marketing Cloud.

  • Innan du använder asynkron bearbetning, se till att dina användningsfall passar mönstret. Asynkrona mönster har inga servicenivåavtal, är föremål för flera styrande mekanismer, kan ha kapacitetsgränser definierade baserat på licensiering och kan orsaka bearbetningsfördröjningar på grund av den ändliga karaktären hos resurserna som allokeras till asynkron infrastruktur inom Salesforce Platform. Tänk på dessa begränsningar när du använder asynkron bearbetning i scenarion där en användare behöver ett svar från systemet innan de kan fortsätta med sitt arbete.
  • Asynkron bearbetning med Salesforce är inte en lösning för gränslösa skalbehov. Salesforce Platform skalar inte oändligt, och asynkrona mönster är föremål för begränsningar. Asynkron bearbetning använder trådar, som innehåller den sammanhangsinformation som en CPU behöver för att utföra en ström av instruktioner. Trådar kan köras parallellt. Antalet tillgängliga trådar i någon CPU är begränsat, så plattformen har mekanismer för att använda sina tillgängliga trådar så effektivt som möjligt. Plattformens flödeskontrollmekanism förhindrar organisationer från att konsumera för många trådar och påverka andra organisationer negativt. Plattformens algoritm för rättvis användning styr även antalet trådar som en organisation har tillgängliga för varje specifik meddelandetyp.
  • Ta hänsyn till händelser som kan orsaka extrem belastning. När du utformar asynkrona processer, se till att de kan hantera arbetsbelastningstoppar och -lullar på ett förutsägbart sätt. Tänk på hur din implementering hanterar oväntade händelser, som strömavbrott, och designskydd som minskar dataförlust eller funktionsförlust.

Denna tabell sammanfattar de verktyg som är tillgängliga för asynkron bearbetning med Salesforce. Hänvisa till denna tabell för att granska varje verktygs viktigaste egenskaper under din beslutsprocess. Se Använd kundcase och beslutspunkter för hjälp med att välja rätt verktyg för din arkitektur.

Tillvägagångssätt Beskrivning Kompetens som behövs Licenser och gränser
Köbar Apex Använd för processer som involverar långa databasoperationer eller externa webbtjänstanrop. Köbara Apex har funktioner som jobb-ID:n, stöd för icke-primitiva typer och jobbkedja. Pro-kod Antalet licenser kan öka gränserna.
Apex i sats Bygg komplexa, tidskrävande processer som involverar miljontals poster genom att dela upp din postuppsättning och bearbeta den i hanterbara delar. Pro-kod Antalet licenser kan öka gränserna.
Schemalagd Apex Kör Apex vid en schemalagd tidpunkt som definieras av ett cronuttryck. Även om åtgärden att schemalägga Apex via cron-uttrycket är en asynkron process körs den underliggande koden synkront när jobbet startar. Pro-kod Antalet licenser kan öka gränserna.
Apex fortsättningsanrop Kör anrop från Apex metoder som körs i ett synkront transaktionssammanhang. Pro-kod Nej
Asynkron väg (postutlösta flöden) Utför en operation som du vill köra på sin egen tid. Undvik blandade DML-fel som uppstår när du uppdaterar ett värde på en relaterad post som inte är en del av posten som utlöste ett flöde. Lågkod Antalet och typen av licenser kan öka gränserna.
Schemalagd väg (efter åtagandeflöden) Kör vid en dynamiskt schemalagd tidpunkt efter en utlösande händelse, till exempel när en post skapas, uppdateras eller tas bort. Lågkod Antalet och typen av licenser kan öka gränserna.
Schemalagda flöden Kör ett flöde i bakgrunden vid en specificerad tidpunkt och med upprepad frekvens (dagligen, veckovis eller en gång) för att utföra åtgärder för en sats med poster. Lågkod Antalet och typen av licenser kan öka gränserna.
Plattformshändelseutlösare Koppla löst Salesforce med externa system och kommunicera mellan asynkrona komponenter inom Salesforce Platform. Lågkod + Pro-kod En tilläggslicens krävs för användningsfall för plattformshändelser med hög volym
Ändra datainsamling Samla in och bearbeta ändringshändelser asynkront efter att databastransaktionen har utförts. Pro-kod En tilläggslicens krävs för att skala upp över baslinjeallokeringen.
Bulk API Infoga, uppdatera, infoga, sökfråga eller ta bort många poster asynkront och bearbeta resultaten senare. Pro-kod Det finns gränser.
Lightning-åtgärder Låt Lightning interagera med servern utan att tvinga användare att fullständigt uppdatera sidan. Lågkod Nej

Denna tabell innehåller en översikt av punkter att tänka på när du bestämmer vilket asynkront verktyg du ska använda.

Kompetens som behövs Vissa av verktygen som beskrivs i denna guide kräver kod, medan andra kan konfigureras deklarativt. När du överväger dina alternativ, tänk på vilka kompetenser dina teammedlemmar har. Kom ihåg att även om utvecklare är tillgängliga för din inledande implementering (till exempel genom en implementeringspartner) kan du behöva ändra dina lösningar i framtiden. Om ditt underhållsteam saknar utvecklare kan ett alternativ med låg kod passa bättre.
Typ av plattformsgränser tillämpade Bestäm vilken typ av gränser som gäller för utförandet. När du utformar dina lösningar, tänk noga på hur volymen och frekvensen av transaktioner kommer att räknas mot styrande begränsningar för den valda metoden varje dag. Beräkna antalet utföranden som kommer att inträffa varje dag. Se till att de beräknade värdena hamnar inom de gränser som är associerade med dina valda verktyg.
Latens Bestäm hur snabbt resultaten av bearbetningen kommer att vara tillgängliga i plattformen. För vissa metoder kommer ändringarna att vara nästan omedelbara, medan det för andra kan ta minuter eller timmar.

När du väljer ett verktyg för asynkron bearbetning, utvärdera först din organisations krav och tillgängliga resurser. Ditt mål är att välja det eller de verktyg som minimerar implementerings- och underhållskostnader, men ändå säkerställer skalbarhet och minimerar sannolikheten för gränsbrott. Detta mål beror på de tekniska överväganden som beskrivits tidigare, samt ditt teams sammansättning.

Överväg en asynkron orderprocess i Salesforce. När en order sparas utlöses ett meddelande till ett externt lagerhanteringssystem med särskilda instruktioner för hur ett objekt ska paketeras och skickas. Användaren som placerar ordern behöver inte ett omedelbart svar från lagerhanteringssystemet, så begäran kan skickas asynkront. Den asynkrona bearbetningen låter användaren fortsätta sitt arbete utan att behöva vänta på ett svar.

För detta användningsfall kan du överväga att implementera med Apex. Detta tillvägagångssätt fungerar endast om du har Apex utvecklare i ditt team som kan underhålla din prokodlösning. Annars är ett deklarativt tillvägagångssätt mer meningsfullt. Kom även ihåg att olika gränser gäller för olika verktyg.

Denna tabell listar vanliga användningsfall i kolumnen längst till vänster följt av en beskrivning. Kolumnen Första val innehåller den mest typiska metoden som används för att uppfylla ett sådant användningsfall, tillsammans med motiveringen för metoden Första val. Använd detta som utgångspunkt i din analys—Förstahandsvalet kan ha begränsningar som inte fungerar för ditt användningsfall.

Användningsfall Beskrivning Förstahandsvalsmetod Motivering
Högpresterande batchbearbetning All automatisering som måste bearbeta tusentals eller miljoner poster effektivt Batch Apex Batch Apex tillhandahåller rika API:n för att interagera med plattformen och för råhastighet.
Datarensningsjobb Ett jobb som körs rutinmässigt, eller på begäran, som rensar data. Exempel inkluderar avduplicering, adressverifiering eller datakonsolidering. Batch Apex Batch Apex tillhandahåller rika API:n för att interagera med plattformen och för råhastighet.
Nattligt summeringsjobb Jobb som beräknar summeringsdata i slutet av en arbetsdag. Batch Apex Batch Apex tillhandahåller rika API:n för att interagera med plattformen och för råhastighet.
Postutlöst logik Kör logik som svar på en postuppdatering. Varierar Se vår medföljande beslutsguide, Automatisering av postutlösta händelser. Den innehåller ett beslutsträd för asynkrona användningsfall, inklusive Queueable Apex, Batch Apex, Scheduled Apex, Scheduled Flow, Async Path Flöden och Change Datainsamling.
Kaskaderuppdateringar genom en objektgraf Låter en användares spara-åtgärd slutföras snabbt och skjuter upp kaskaduppdateringar till andra objekt att köras asynkront. Köbar Apex Köbara Apex har kraftfulla kedjefunktioner som låter logiken dela upp en kedja av uppdateringar i en serie asynkrona transaktioner.
Postspecifik schemalagd bearbetning Automatisering vid ett framtida, dynamiskt datum som är specifikt för posten (till exempel 3 dagar innan ett avslutsdatum). Flöde med en schemalagd väg Schemalagda vägar ger en unik styrka till Flöde, eftersom plattformen automatiskt hanterar schemaläggning, annullering och omschemaläggning av dessa vägar om postens data ändras.
Åberopa flera långsamma externa tjänster parallellt Under en synkron körning åberopas flera externa tjänster parallellt för att optimera den övergripande körningstiden. Apex fortsättningsanrop Att tillåta flera långsamma anrop att köras parallellt minimerar den totala tiden att slutföra arbetet.
Datamigrering av poster från ett externt system Flytta stora mängder poster till Salesforce Platform från ett externt system. Antingen en engångsprocess eller en regelbundet schemalagd process. Bulk API Detta är den mest effektiva och gränsvänliga metoden för datamigrering.
Kör ytterligare logik på ett externt system Fire-and-forget-mönster för att meddela ett externt system om en händelse på plattformen och sedan låta det systemet bearbeta händelsen asynkront. Plattformshändelser eller ändra datainsamling En pub-undermodell fungerar bäst här och låter det externa systemet bearbeta händelsen när den är färdig. Se Händelsedriven arkitektur för mer information om detta mönster.

Tabellen Användningsfall är en guide till den bästa metoden för varje användningsfall. Du måste dock validera hur väl First Choice-tekniken uppfyller de specifika behoven för ditt användningsfall. Bestäm särskilt om den valda metoden kan följa styrande begränsningar för din organisation.

När du har identifierat en kandidatmetod för ditt användningsfall kan den grundläggande guiden för asynkron bearbetning hjälpa dig att granska lösningen.

Dessa ytterligare resurser kan hjälpa till med din beslutsprocess: