Consumo dell'evento

Il consumo di eventi consente di ricevere gli eventi dagli endpoint dei clienti e di utilizzarli in Sterling Intelligent Promising.

Il volume di eventi generato dalle modifiche all'inventario o dalle istantanee raggiunge i milioni in un solo giorno e dipende in larga misura dal numero di nodi e oggetti del sistema. Il volume aumenta in base al numero di inventari, prenotazioni, richieste di snapshot e modifiche della configurazione. Per supportare efficacemente un gran numero di set di dati di eventi, gli eventi sono strutturati in un formato specifico per massimizzare l'efficienza della consegna, come la compattazione dei file e l'ottimizzazione del rapporto eventi/file. I consumatori di eventi potrebbero ricevere eventi simili per lo stesso articolo se sono stati regolati nello stesso periodo di tempo. Serve a tenere traccia dello stato dell'evento prima dell'elaborazione dei dati nei sistemi a valle.

Confronto tra i timestamp dell'elaborazione degli eventi

Quando consuma eventi di tipo disponibilità, come la disponibilità dei nodi e della rete, il consumatore di eventi deve considerare la freschezza dei dati osservando i timestamp sul payload dell'evento.

Un evento di disponibilità può avere il seguente aspetto.
{
   "type": "productAvailability.v2",
   "datacontenttype": "application/json",
   "id": "2a8d36a3-485b-3fc0-bd15-d530625a6ec5",
   "specversion": "1.0",
   "time": "2021-03-10T00:00:00.288Z",
   "data": {
     "computeTs": "2021-03-10T00:00:00.097Z",
     "productId": "ITEM01",
     "deliveryMethod": "SHP",
     "shipNode": "STORE01",
     "currentAvailability": {
        "toTs": "2021-04-01T00:00:00.000Z",
        "availableQuantity": 30,
        "consumedSafetyQuantity": 0,
        "fulfillmentAllowed": true,
        "reservedQuantity": 0,
        "shortageQuantity": 0,
        "thresholdLevel": 0
        }
     }
}
In questo payload dell'evento, sono presenti due attributi timestamp di interesse:
  • ora
    L'ora indica la data di pubblicazione dell'evento, che può essere successiva all'attributo computeTs.
  • computeTs
    Indica il momento in cui è stata calcolata la disponibilità. Ciò è influenzato dalle azioni, che comprendono aggiustamenti della domanda o dell'offerta, opzioni di adempimento e creazione di prenotazioni.
Si raccomanda al consumatore di eventi di osservare l'attributo computeTs per determinare se un evento deve essere elaborato o saltato. Se il sistema a valle ha già un computeTs più recente, non sarà necessario elaborare gli eventi che hanno un computeTs precedente, quindi possono essere scartati.

Considerate la seguente sequenza di eventi per ITEM01:

  1. tempo: T5, computeTs: T3, availableQuantity: 10
  2. tempo: T6, computeTs: T5, availableQuantity: 9
  3. tempo: T7, computeTs: T1, availableQuantity: 12

Dato che il consumatore ha già elaborato T6 come computeTS con 9 availableQuantity. L'evento ricevuto a T7 deve essere scartato perché il computeTs è T1, che è un record più vecchio.