Computer Science ›› 2023, Vol. 50 ›› Issue (11A): 230200102-7.doi: 10.11896/jsjkx.230200102

• Big Data & Data Science • Previous Articles     Next Articles

Microservice Splitting Approach Based on Database Table

HUANG Zhicheng, LIU Xianhui   

  1. School of Electronics and Information Engineering,Tongji University,Shanghai 201800,China
  • Published:2023-11-09
  • About author:HUANG Zhicheng,born in 1995,master candidate.His main research interests include micro service,cloud native.
    LIU Xianhui,born in 1979,Ph.D,associate researcher.His main research interests include machine learning,data mining andbig data,networked manufacturing.
  • Supported by:
    National Key Research and Development Program of China(2022YFB330570) and Science and Technology Innovation Action Plan Program of Shanghai(21511104302).

Abstract: Microservice architecture and cloud platform container deployment are a hot topic in current software engineering practice.Many research reports show that more and more software developers are transforming single architecture to microservice architecture.In the process of splitting a single architecture application into a microservice architecture application,the implementer faces an important challenge,that is,the lack of a clear method to effectively and accurately split the single application.To solve this problem,a micro-service splitting method based on database tables is proposed and a splitting tool is implemented.This method generates a table association matrix by collecting all the SQL statements in the project and combining the primary and foreign key relationships between the database tables.According to this table association matrix,a part of microservices is initially divided.Then collect all the transaction links according to the test cases,and combine the relationship between the transaction link analysis table and the micro-service to calculate the association matrix of the independent table and the micro-service.According to the association matrix of the independent table and the micro-service,complete the division of the final micro-service database table,and finally split the micro-service code according to the proposed rules.The experiment shows that this method can help software developers effectively and accurately split microservices.

Key words: Microservices, Splitting, Database table

CLC Number: 

  • TP311
[1]AHMADVAND M,IBRAHIM A.Requirements reconciliationfor scalable and secure microservice (de) composition[C]//Proceedings of the 2016 IEEE 24th International Requirements Engineering Conference Workshops(REW).2016.
[2]GYSEL M,KÖLBENER L,GIERSCHE W,et al.Service cut-ter:A systematic approach to service decomposition[C]//Proceedings of the European Conference on Service-Oriented and Cloud Computing.2016.
[3]LEVCOVITZ A,TERRA R,VALENTE M T.Towards a technique for extracting microservices from monolithic enterprise systems [J].arXiv:160503175,2016.
[4]BARESI L,GARRIGA M,RENZIS A D.Microservices identification through interface analysis[C]//Proceedings of the European Conference on Service-Oriented and Cloud Computing.2017.
[5]CHEN R,LI S,LI Z.From monolith to microservices:A dataflow-driven approach[C]//Proceedings of the 2017 24th Asia-Pacific Software Engineering Conference (APSEC).2017.
[6]MAZLAMI G,CITO J,LEITNER P.Extraction of microser-vices from monolithic software architectures[C]//Proceedings of the 2017 IEEE International Conference on Web Services(ICWS).2017.
[7]ESKI S,BUZLUCA F.An automatic extraction approach:Transition to microservices architecture from monolithic application[C]//Proceedings of the Proceedings of the 19th International Conference on Agile Software Development:Companion.2018.
[8]KAMIMURA M,YANO K,HATANO T,et al.Extracting candidates of microservices from monolithic application code[C]//Proceedings of the 2018 25th Asia-Pacific Software Engineering Conference(APSEC).2018.
[9]RADEMACHER F,SORGALLA J,SACHWEH S.Challengesof domain-driven microservice design:A model-driven perspective [J].IEEE Software,2018,35(3):36-43.
[10]DING D,PENG X,GUO X F,et al.Scenario-Driven and Bottom-Up Microservice Decomposition for Monolithic Systems[J].Ruan Jian Xue Bao/Journal of Software,2020,31(11):3461-3480.
[11]LI S S,RONG G P,GAO Q Y,et al.Optimized dataflow-dri-ven approach for microservices-oriented decomposition[J].Ruan Jian Xue Bao/Journal of Software,2021,32(5):1284-1301.
[12]JIN W,LIU T,CAI Y,et al.Service Candidate Identification from Monolithic Systems based on Execution Traces [J].IEEE Transactions on Software Engineering,2019,47(5):987-1007.
[13]DESAI U,BANDYOPADHYAY S,TAMILSELVAM S.Graph Neural Network to Dilute Outliers for Refactoring Monolith Application[C]//Proceedings of the AAAI Conference on Artificial Intelligence.2021.
[14]MITCHELL B S,MANCORIDIS S.On the Automatic Modula-rization of Software Systems Using the Bunch Tool [J].IEEE Transaction on Software Engineering,2006,32(3):193-208.
[15]MAZLAMI G,CITO J,LEITNER P.Extraction of Microser-vices from Monolithic Software Architectures[C]//Proceedings of the IEEE International Conference on Web Services.2017.
[16]KALIA A K,JIN X,CHEN L,et al.Mono2Micro:an AI-based toolchain for evolving monolithic enterprise applications to a microservice architecture[C]//Proceedings of the Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering.2020.
[17]SAEIDI A M,HAGE J,KHADKA R,et al.A search-based approach to multi-view clustering of software systems[C]//Proceedings of the 2015 IEEE 22nd International Conference on Software Analysis,Evolution,and Reengineering (SANER).2015.
[18]SCANNIELLO G,D′AMICO A,D′AMICO C,et al.An ap-proach for architectural layer recovery[C]//Proceedings of the Acm Symposium on Applied Computing.2010.
[19]WU J,HASSAN A E,HOLT R C.Comparison of clustering algorithms in the context of software evolution[C]//Proceedings of the IEEE International Conference on Software Maintenance.2005.
[1] YANG Qianlong, JIANG Lingyun. Study on Load Balancing Algorithm of Microservices Based on Machine Learning [J]. Computer Science, 2023, 50(5): 313-321.
[2] SHAN Yong-feng, JIANG Rui, XU You-yun, LI Da-peng. Power Consumption Scheme Oriented to Full-duplex Multi-relay Cooperative SWIPT Networks [J]. Computer Science, 2022, 49(7): 280-286.
[3] WANG Xiao-min, SU Jing, YAO Bing. Algorithms Based on Lattice Thought for Graph Structure Similarity [J]. Computer Science, 2021, 48(6A): 543-551.
[4] WANG Tao, ZHANG Shu-dong, LI An, SHAO Ya-ru, ZHANG Wen-bo. Anomaly Propagation Based Fault Diagnosis for Microservices [J]. Computer Science, 2021, 48(12): 8-16.
[5] ZHU Han-qing, MA Wu-bin, ZHOU Hao-hao, WU Ya-hui, HUANG Hong-bin. Microservices User Requests Allocation Strategy Based on Improved Multi-objective Evolutionary Algorithms [J]. Computer Science, 2021, 48(10): 343-350.
[6] HE Zhi-peng, LI Rui-lin, NIU Bei-fang. Highly Available Elastic Computing Platform for Metagenomics [J]. Computer Science, 2021, 48(1): 326-332.
[7] ZHANG Jing-xuan, JIANG He. Research Status and Development Trend of Identifier Normalization [J]. Computer Science, 2020, 47(3): 1-4.
[8] WU Bin-feng. Design of IoT Middleware Based on Microservices Architecture [J]. Computer Science, 2019, 46(6A): 580-584.
[9] SUN Qiang, WEI Wei, HOU Pei-xin and YUE Ji-guang. Anomaly Detection Based on Interval One Cluster and Classification [J]. Computer Science, 2017, 44(6): 189-198.
[10] HE Ming, LIU Yi, CHANG Meng-meng and WU Xiao-fei. Collaborative Filtering Recommendation Based on Item Splitting [J]. Computer Science, 2017, 44(3): 247-253.
[11] LI Zhan-qing, LI Guang-shun, WU Jun-hua and KONG Ling-zeng. Novel Tag Anticollision Protocol with Splitting Binary Tracking Tree [J]. Computer Science, 2017, 44(12): 80-85.
[12] ZHANG Ju-xiao. Application of Nondeterministic Finite Automata in Braille Transcoding [J]. Computer Science, 2017, 44(1): 271-276.
[13] CHEN Lin, YING Shi and JIA Xiang-yang. SHMA:Monitoring Architecture for Clouds [J]. Computer Science, 2017, 44(1): 7-12.
[14] BAI Chen-ming and LI Yong-ming. Effect of Channel Noise on Quantum Information Splitting [J]. Computer Science, 2016, 43(4): 53-57.
[15] . Existence of Answer Sets of Normal Logic Programs [J]. Computer Science, 2011, 38(12): 213-220.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!