Understanding the core components: airbyte-worker
#33812
Marcos Marx (marcosmarxm)
started this conversation in
Guides & Tutorials
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Important
This service create a connection with Temporal and receives activities (tasks) from Temporal to execute, like: check operation, spin up docker containers and do the sync, start dbt normalization, etc.
During start up the application creates a
WorkerFactoryusing the maximum number of parallel workers defined inapplicaton.yamlfile. As default all type of workers are enabled. There is an option to have particular worker exclusively to a specific task.Note
📝 In Temporal, a WorkerFactory is responsible for creating and managing workers that execute workflow and activity tasks. It is a component that helps register workflow and activity implementations, configure worker options, and start the workers to process tasks from the Temporal service.
When running in Docker, the
ReplicationWorkeris hosted within theairbyte-workercalledInMemoryOrchestratorwhen use Kubernetes there is a service calledairbyte-container-orchestratorwhich handle this operation.Airbyte Worker is probably the most code heavy component in the code base. In some sense the image below from the How we scale workflow orchestration with Temporal article help us understand the connection between the worker and Temporal.
Inside the
airbyte-workerthere are all Activity Implementations (which are Temporal tasks) and in theairbyte-common-workerwe can find all Runners and “Workers” doing the actions.If you're interested in the replication (sync between source and destination) you can find the logic in
airbyte-commons-worker/src/main/java/io/airbyte/workers/general/DefaultReplicationWorker.javaExample (Manual Sync)
After Temporal has an activity
CONNECTION_UPDATEchecks for any type of update.In this case we update the sync to skip the schedule and it will trigger the workflow again.
Additional Resources
Beta Was this translation helpful? Give feedback.
All reactions