Understanding the core components: airbyte-worker
#33812
Closed
M. Marx (marcosmarxm)
started this conversation in
Guides & Tutorials
Replies: 1 comment
|
This discussion has had no comments and limited activity for over a year. The Airbyte platform has changed significantly since it was created, so the context here may no longer apply. Closing as part of a cleanup effort. If this topic is still relevant, please start a fresh discussion so it gets the attention it deserves. Thank you! |
0 replies
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
All reactions