Este texto se tradujo utilizando el sistema de traducción automatizado de Salesforce. Realice nuestra encuesta para proporcionar comentarios sobre este contenido e indicarnos qué le gustaría ver a continuación.

Esta guía le ayudará a evaluar el enfoque correcto para sus requisitos de procesamiento asíncrono en Salesforce Platform. Explica cada enfoque, detallando los puntos fuertes y las limitaciones de cada uno. La mayoría de los enfoques están alineados con una función de producto, pero algunos enfoques utilizan múltiples funciones en coordinación. La guía incluye casos de uso para resaltar cuándo utilizar cada enfoque.

El procesamiento asíncrono proporciona dos beneficios principales para su arquitectura. En primer lugar, aumenta la capacidad de ampliación porque los procesos asíncronos tienen límites reguladores más altos. En segundo lugar, las solicitudes asíncronas se ejecutan en sus propios hilos de modo que los usuarios pueden realizar otro trabajo mientras las tareas asíncronas se ejecutan en segundo plano.

Tenga en cuenta que esta guía se centra exclusivamente en la selección de una tecnología de procesamiento asíncrono en Salesforce Platform. Otros recursos para ayudar a su proceso de decisión se enumeran en la sección Recursos.

Plataforma Salesforce Salesforce Lightning Platform es una plataforma integral dirigida por IA que unifica empleados, agentes de IA autónomos, datos de la compañía y aplicaciones en un único sistema de confianza para mejorar la productividad y la experiencia del cliente. Permite la creación de una "compañía agencia" conectando aplicaciones Customer 360, Data Cloud y Slack para la automatización de extremo a extremo.

Este documento no cubre tecnologías en otros ecosistemas como MuleSoft, Informatica, Commerce Cloud, Tableau y Marketing Cloud.

  • Antes de utilizar el procesamiento asíncrono, asegúrese de que sus casos de uso se ajustan al patrón. Los patrones asíncronos no tienen SLA, están sujetos a múltiples mecanismos reguladores, pueden tener límites de capacidad definidos basándose en licencias y pueden causar retrasos de procesamiento debido a la naturaleza finita de los recursos asignados a infraestructura asíncrona en Salesforce Platform. Tenga en cuenta estas limitaciones cuando utilice el procesamiento asíncrono en escenarios donde un usuario requiere una respuesta del sistema antes de poder continuar con su trabajo.
  • El procesamiento asíncrono con Salesforce no es una solución para necesidades de ampliación ilimitadas. Salesforce Platform no se amplía infinitamente y los patrones asíncronos están sujetos a limitaciones. El procesamiento asíncrono utiliza hilos, que contienen la información contextual que una CPU necesita para ejecutar una transmisión de instrucciones. Las cadenas pueden ejecutarse en paralelo. El número de hilos disponibles en cualquier CPU es limitado, de modo que la plataforma tiene mecanismos establecidos para utilizar sus hilos disponibles de la forma más eficiente posible. El mecanismo de control de flujo de la plataforma evita que las organizaciones consuman demasiados hilos y afecten negativamente a otras organizaciones. El algoritmo de uso justo de la plataforma también controla el número de hilos que una organización tiene disponibles para cada tipo de mensaje concreto.
  • Tenga en cuenta eventos que pueden causar cargas extremas. Cuando diseñe procesos asíncronos, asegúrese de que pueden gestionar de forma predecible picos y pausas de carga de trabajo. Considere cómo gestiona su implementación eventos inesperados, como cortes de energía, y diseñe salvaguardas que mitiguen la pérdida de datos o la pérdida de funciones.

Esta tabla describe las herramientas disponibles para el procesamiento asíncrono con Salesforce. Consulte esta tabla para revisar las características principales de cada herramienta durante su proceso de toma de decisiones. Consulte Utilizar casos y puntos de decisión para obtener ayuda para elegir las herramientas correctas para su arquitectura.

Enfoque Descripción Habilidades requeridas Licencias y límites
Apex colocable en cola Utilizar para procesos que implican operaciones de base de datos de larga ejecución o llamadas de servicio web externo. Apex colocable en cola ofrece funciones como Id. de trabajo, compatibilidad para tipos no primitivos y encadenamiento de trabajos. Código pro El número de licencias puede aumentar los límites.
Apex por lotes Cree procesos complejos y de larga ejecución que implican millones de registros dividiendo su conjunto de registros y procesándolo en partes gestionables. Código pro El número de licencias puede aumentar los límites.
Apex programado Ejecute Apex a una hora programada definida por una expresión cron. Aunque el acto de programar Apex mediante la expresión cron es un proceso asíncrono, el código subyacente se ejecuta de forma síncrona cuando se inicia el trabajo. Código pro El número de licencias puede aumentar los límites.
Llamadas de continuación Apex Ejecute llamadas desde métodos Apex ejecutándose en un contexto de transacción síncrono. Código pro No
Ruta asíncrona (Flujos desencadenados por registro) Ejecute una operación que desea ejecutar en su propio tiempo. Evite errores DML mixtos que se producen cuando actualiza un valor en un registro relacionado que no forma parte del registro que desencadenó un flujo. Código bajo El número y el tipo de licencias pueden aumentar los límites.
Ruta programada (Flujos después de confirmar) Ejecute a una hora programada dinámicamente después de un evento desencadenante, como cuando se crea, se actualiza o se elimina un registro. Código bajo El número y el tipo de licencias pueden aumentar los límites.
Flujos programados Ejecute un flujo en segundo plano a una hora especificada y con una frecuencia repetida (diariamente, semanalmente o una vez) para realizar acciones en un lote de registros. Código bajo El número y el tipo de licencias pueden aumentar los límites.
Desencadenadores de eventos de plataforma Acople Salesforce libremente con sistemas externos y comuníquese entre componentes asíncronos en Salesforce Platform. Código bajo + código profesional Se requiere una licencia complementaria para casos de uso de eventos de plataforma de gran volumen
Captura de datos Capture y procese eventos de cambio de forma asíncrona después de confirmar la transacción de la base de datos. Código pro Se requiere una licencia complementaria para ampliar por encima de la asignación de línea base.
API masiva Inserte, actualice, altere, consulte o elimine muchos registros de forma asíncrona y procese los resultados más adelante. Código pro Hay límites.
Acciones Lightning Permita a las páginas Lightning interactuar con el servidor sin forzar a los usuarios a actualizar completamente la página. Código bajo No

Esta tabla contiene una descripción general de puntos a tener en cuenta cuando decida qué herramienta asíncrona utilizar.

Habilidades requeridas Algunas de las herramientas descritas en esta guía requieren código, mientras que otras se pueden configurar de forma declarativa. Cuando considere sus opciones, piense en los conjuntos de habilidades que tienen los miembros de su equipo. Recuerde que incluso si los desarrolladores están disponibles para su implementación inicial (a través de un socio de implementación, por ejemplo), es posible que tenga que modificar sus soluciones en el futuro. Si su equipo de mantenimiento carece de desarrolladores, una opción de código bajo puede ajustarse mejor.
Tipo de límites de plataforma aplicados Determine el tipo de límites que se aplican a la ejecución. Cuando diseñe sus soluciones, piense cuidadosamente en cómo el volumen y la frecuencia de las transacciones contarán en los límites reguladores para el enfoque elegido cada día. Calcule el número de ejecuciones que se producirán cada día. Asegúrese de que los valores calculados recaen dentro de los límites asociados con sus herramientas seleccionadas.
Latencia Determine con qué rapidez estarán disponibles los resultados del procesamiento en la plataforma. Para algunos enfoques, los cambios serán casi inmediatos, mientras que para otros pueden ser minutos u horas.

Cuando selecciona una herramienta para el procesamiento asíncrono, primero evalúe los requisitos de su organización y los recursos disponibles. Su objetivo es seleccionar la herramienta o las herramientas que minimizan los costos de implementación y mantenimiento, pero aún garantizan la escalabilidad y minimizan su probabilidad de limitar las infracciones. Este objetivo depende de las consideraciones técnicas descritas anteriormente, así como de la composición de su equipo.

Considere un proceso de pedido asíncrono en Salesforce. Cuando se guarda un pedido, desencadena un mensaje a un sistema de gestión de almacén externo con instrucciones especiales sobre cómo empaquetar y enviar un artículo. El usuario que realiza el pedido no necesita una respuesta inmediata del sistema de gestión de almacenes, de modo que la solicitud se puede enviar de forma asíncrona. El procesamiento asíncrono permite al usuario continuar su trabajo sin esperar una respuesta.

Para este caso de uso, puede considerar implementar con Apex. Este enfoque solo funcionará si tiene desarrolladores Apex en su equipo que puedan mantener su solución de pro-código. De lo contrario, un enfoque declarativo tiene más sentido. Además, tenga en cuenta que diferentes conjuntos de límites se aplican a diferentes herramientas.

Esta tabla enumera casos de uso comunes en la columna más a la izquierda, seguidos de una descripción. La columna Primera opción proporciona el enfoque más habitual utilizado para satisfacer dicho caso de uso, junto con la justificación del enfoque Primera opción. Utilice esto como un punto de inicio en su análisis: el enfoque Primera opción puede tener limitaciones que no funcionarán para su caso de uso.

Caso de uso Descripción Enfoque de primera opción Justificación
Procesamiento por lotes de alto desempeño Cualquier automatización que debe procesar miles o millones de registros de forma eficiente Apex por lotes Apex por lotes proporciona API enriquecidas para la interfaz con la plataforma y para la velocidad sin procesar.
Trabajo de limpieza de datos Un trabajo que se ejecuta de forma rutinaria, o bajo demanda, que limpia datos. Los ejemplos incluyen la desduplicación, la verificación de direcciones o la consolidación de datos. Apex por lotes Apex por lotes proporciona API enriquecidas para la interfaz con la plataforma y para la velocidad sin procesar.
Trabajo de acumulación nocturno Trabajo que calcula datos de acumulación al final de un día hábil. Apex por lotes Apex por lotes proporciona API enriquecidas para la interfaz con la plataforma y para la velocidad sin procesar.
Lógica desencadenada por registro Ejecute lógica en respuesta a una actualización de registro. Varía Consulte nuestra guía de decisiones complementarias, Automatización de registros de eventos desencadenados. Incluye un árbol de decisiones para casos de uso asíncronos, incluyendo Apex colocable en cola, Apex por lotes, Apex programado, Flujo programado, Flujos de ruta asíncronos y Captura de datos de cambios.
Actualizaciones en cascada a través de un gráfico de objeto Permite que la acción de guardado de un usuario se complete rápidamente, aplazando la ejecución de actualizaciones en cascada a otros objetos de forma asíncrona. Apex colocable en cola Apex colocable en cola tiene potentes funciones de encadenamiento que permiten a la lógica dividir una cadena de actualizaciones en una serie de transacciones asíncronas.
Procesamiento programado específico de registro Automatización en una fecha futura dinámica específica del registro (por ejemplo, 3 días antes de una fecha de cierre). Flujo con una ruta programada Las rutas programadas proporcionan una solidez única a Flujo, ya que la plataforma gestiona automáticamente la programación, cancelación y reprogramación de estas rutas si cambian los datos del registro.
Invocación de múltiples servicios externos lentos en paralelo Durante una ejecución síncrona, se invocan múltiples servicios externos en paralelo para optimizar el tiempo de ejecución general. Llamadas de continuación de Apex Permitir que múltiples llamadas de ejecución lenta se ejecuten en paralelo minimiza el tiempo total para completar el trabajo.
Migración de datos de registros desde un sistema externo Mueva grandes cantidades de registros a Salesforce Platform desde un sistema externo. Un proceso puntual o programado regularmente. API masiva Este es el enfoque más eficiente y orientado a límites para la migración de datos.
Ejecutar lógica adicional en un sistema externo Patrón de activación y olvido de notificar a un sistema externo de un evento en la plataforma, permitiendo luego a ese sistema procesar el evento de forma asíncrona. Eventos de plataforma o Captura de datos Un modelo pub-sub funciona mejor aquí y permite al sistema externo procesar el evento cuando está listo. Consulte Arquitectura dirigida por eventos para obtener más detalles sobre este patrón.

La tabla Casos de uso es una guía hacia el enfoque más adecuado para cada caso de uso. Sin embargo, deberá validar cuán bien se ajusta la tecnología First Choice a las necesidades específicas de su caso de uso. En particular, determine si el enfoque elegido puede cumplir los límites reguladores para su organización.

Una vez que haya identificado un enfoque candidato para su caso de uso, la Guía de fundamentos de procesamiento asíncrono puede ayudarle a examinar completamente la solución.

Estos recursos adicionales pueden ayudarle con su proceso de decisión: