# Efficient Data Delivery Scheme for Large-Scale Microservices in Distributed Cloud Environment
## 2 Related Works  
The three primary variations in this field are topic-based, type-based, and content-based publish/subscribe methods [10]. Because of its minimal run-time overhead [12], the topic-based pub/sub (TBPS) scheme is qwll suited to real-time IoT service applications and organizing events into topics. This section reviews several IoT platforms/systems with microservice architectures and pub/sub schemes to support microservice-based IoT applications. Event-based middleware is one of the existing solutions for developing IoT applications. In this approach, participants, applications, and components interact through events. The events are typically propagated from the producer to the consumer using a publish/subscribe system [11]. For IoT applications, a microservice-based framework [13] focuses on reusable and loosely coupled services. In their design, one core service coordinates all other microservices provided by the framework, such as geolocation, security, tenanting, and automation. In [14], [PERSON] et al. reported a programmable and autonomic IoT platform built on microservices. The platform uses container virtualization and hypervisor-based approaches to deploy IoT applications for various use cases. In addition, there is a trend towards separating services and data in the reported microservice-based IoT architectures [15; 16]. [PERSON] et al. introduced the term MicroElements (MELs) [15], which is comprised of MicroData (a piece of information transferred between IoT devices) and MicroServices (implementing particular functionalities). This concept can be applied to dynamically manage services and microservices across Cloud, Edge, and IoT devices in the OSMOSIS architecture. A microservice-based data-centric End-to-End IoT architecture was suggested in [16]. These microservices are said to be loosely connected, quickly expandable, and deployable in Edge-Cloud virtual environments. On the other hand, scalability and delay difficulties that arise when microservices collaborate and communicate data in large-scale IoT applications, which has not been specifically addressed in previous research. [PERSON] et al. [17] proposed a lightweight virtualization microservices-based architecture utilizing Docker to support IoT applications. By leveraging Docker's orchestration, the given modularity simplifies management and enables dispersed deployments, resulting in a highly dynamic system. In addition, their model offers both fault tolerance and greater modularity. In [18], the authors proposed a microservice deployment problem (MMDP) in edge computing to reduce the communication overhead while simultaneously establishing load balancing among edge nodes. The Deep Q-learning based model was employed in order to solve the deployment problem and acquire the ideal deployment strategy. To create a real-time environmental sensors system with highly scalable applications in a cloud environment, [19] used an architecture based on microservices. Loosely connected and independently deployable services characterize this proposed system architecture. In order to improve hazardous transportation network monitoring, the suggested system is implemented with a number of dispersed sensors and visualization capabilities along with a smart data collector. Moreover, a microservice-based edge server architecture was presented by [PERSON] et al. [20] that allowed for sharing of microservices among many Internet of Things applications running simultaneously. Protocols and techniques for constructing scalable peer-to-peer TBPS systems have been developed to facilitate message delivery in large-scale applications [21; 22; 23]. A hybrid TBPS overlay system, as developed by [PERSON] et al. [21], provides minimal relay messages between peers and scales effectively with an increasing number of peers and subjects. In this setup, a gossip-based unstructured sampling mechanism is used to group the peers with comparable subscriptions. A structured rendezvous routing method is used to connect these groups.