Abstract

With the widespread use of microservices technology, a growing number of Microservice Systems (MSS) have emerged. Monolithic applications are divided into several small and independent microservices that provide functions through APIs. These microservices can be orchestrated by service composition to satisfy various user requirements: microservice functionalities are aggregated into coarse-grained solutions to provide composite functions to users. However, although various service composition approaches have been presented in many works of literature, they failed to solve the situation that no feasible solutions can be found because of missing functions in MSS, named Functional Hole (FH). As a result, the system cannot satisfy user requirements and faces Quality of Service (QoS) declines. In this paper, to reduce the impact of missing functions, we defined the FH to describe the absence of functions for MSS when it cannot satisfy user requirements. Moreover, for the first time, we proposed the Detection and Filling Problem of FH (DFPFH) in a running MSS. A three-phase algorithm with supporting infrastructure was developed to solve DFPFH. It detects FHs based on hypergraphs, fills FHs with services from an external service system at runtime, and generates suggestions for thoroughly filling FH to developers. Plenty of experiments were conducted, and the results validate our approaches’ usability, effectiveness, and performance.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call