Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 36 Next »

Private_Edition_flag.png

Overview

Usage Engine Private Edition now supports horizontal scaling of batch workflows, increasing or decreasing processing capacity as needed without manual intervention. As a general concept, batch scaling is a way to speed up processes by splitting the workload between multiple ‘workers,’ enabling them to complete tasks in parallel rather than sequentially. Usage Engine’s solution consists of two new agents, a Scalable Inter Workflow Forwarding agent and a Scalable Inter Workflow Collection agent (Scalable InterWF). Two new profiles have also been created - the Partition Profile and the Scalable Inter Workflow Profile. The feature uses the existing agents, Data Aggregator and Deduplication, which have been updated to support a Kafka storage type. Kafka must be configured for all storage within your scalable batch solution.

How it works

This example shows a batch processing setup where you collect files and perform duplication checks and aggregation. We want to make this solution scalable to improve the processing times of our data during periods of high usage. We have set up two workflows in our batch scaling solution.

batchScaling.png
  1. In the File collection workflow the Scalable InterWF Forwarding agent manages the partitions. It uses one or more unique ID Fields (e.g. customer ID) to determine which partition a UDR belongs to.

  2. The maximum number of partitions created is determined by the Max Scale Factor parameter in the Partition Profile.

Note!

The number of partitions will be the same across all topics. The points of storage will occur, for example,

  • With the passing of UDRs between workflows.

  • When duplicate UDR keys are detected.

  • For aggregated sessions.

  1. In the Processing workflow the Duplicate UDR agent will check for duplicates across all partitions. Checked UDRs are placed in an additional topic with the same partitions as the corresponding collection workflow topic. Any duplicate keys are saved in a separate topic.

  2. Also in the Processing workflow, the Aggregation Agent will collect data from an inter-workflow topic and use a separate aggregation session storage topic.

Prerequisites for Kafka/batch scaling?

Your workflow must be designed in a way that can process batch workflows which means it has to have at least one unique identifier that is consistent and links individual records such as a user ID, session ID, or other ID field. This field will then be used by Kafka to determine which partitions the UDRs are assigned to.

Subsections

This section contains the following subsections:



  • No labels