Model Sync Pipeline
Keep 3D models in sync with source engineering data. One worker writes that data into models as native elements; another precomputes descriptors to Blob Storage for the app.
Project brief
- Scale
- Supports the Digital Engineering Platform used by hundreds of engineers across dozens of live projects.
- Role
- Lead developer on the services behind the Digital Engineering Platform.
- Constraint
- Had to scale across projects without corrupting model data. Concurrent jobs cannot write the same model at once.
Architecture
Azure Functions publish model change events onto Service Bus. Kubernetes workers consume the queue and scale on queue depth with KEDA.
- Azure Functions
- Azure Service Bus
- KEDA-scaled Kubernetes workers
- 3D models and Blob Storage
Reliability
- Exponential backoff for transient failures, dead-lettering for permanent failures, and per-session locking so concurrent jobs cannot collide on one model.
Core stack
TypeScript · Kubernetes · KEDA · Azure Service Bus