| With the explosive growth of system business function requirements,traditional monolithic architectures have made enterprise application services cumbersome and complex,incrementally increasing development,testing,and maintenance costs.The microservices architecture aims to split monolithic application services into multiple fine-grained services with clear functions,independent platform,simple maintenance,and low coupling,which can effectively solve the problems of the monolithic architecture.With the development of cloud computing technologies,people tend to deploy application services to cloud platforms.With the rapid development of Docker container technology and continuous improvement of distributed application development solution Spring Cloud,microservices are promoted for the practical applications.In this context,how to effectively define,deploy,manage,monitor,and further integrate microservices for thousands of microservices is a key issue for microservice system applications.The size of the cluster and the resource configuration of the container are specified by the user in advance.With the increase of the load of the cluster and the container,the container cluster scheduling tool has no mechanism to detect whether the cluster and the container are overloaded,which will affect the availability of the microservice.Therefore,how to implement a reasonable load scheduler based on container orchestration tools is another key issue for cloud platforms.The division of microservices is a key step in the conversion of monolithic architecture applications into microservice architecture applications.The division by bussiness function is a widely accepted specification [8],but it is easy to divide applications into multiple individual applications due to subjective factors.Therefore,we also need to divide microservices from the perspective of microservices granularity,but the granularity specification of microservices does not have an effective determination scheme.Therefore,the granularity specification of microservices should be determined for a cloud platform.To solve the above problem,based on the OPENSTACK's virtualization technology and the container cluster management technology provided by Docker-Swarm,this paper implements a management platform that supports the microservices architecture specifically: Microservices management cloud platform.This platform defines microservices and implements the automated deployment of container cluster environments,automated production and management of container images,automated deployment of microservices,real-time monitoring of clusters and microservices,and microservices composition.Based on this platform,load scheduling for clusters and microservices through monitoring data,and the load is predicted using the XGBoost method.The reliability of the above model and method is verified through experiments.At last,the performance comparison simulation experiment between single architecture and microservice architecture is designed to verify the performance advantages of microservice architecture,according to which we futher analyze granularity specification of microservices. |