  While various service orchestration aspects within Computing Continuum (CC)
systems have been extensively addressed, including service placement,
replication, and scheduling, an open challenge lies in ensuring uninterrupted
data delivery from IoT devices to running service instances in this dynamic
environment, while adhering to specific Quality of Service (QoS) requirements
and balancing the load on service instances. To address this challenge, we
introduce QEdgeProxy, an adaptive and QoS-aware load balancing framework
specifically designed for routing client requests to appropriate IoT service
instances in the CC. QEdgeProxy integrates naturally within Kubernetes, adapts
to changes in dynamic environments, and manages to seamlessly deliver data to
IoT service instances while consistently meeting QoS requirements and
effectively distributing load across them. This is verified by extensive
experiments over a realistic K3s cluster with instance failures and network
variability, where QEdgeProxy outperforms both Kubernetes built-in mechanisms
and a state-of-the-art solution, while introducing minimal computational
overhead.
