Font Size: a A A

Design And Implementation Of Job Scheduling System Based On Microservice Architecture

Posted on:2020-12-07Degree:MasterType:Thesis
Country:ChinaCandidate:Y TangFull Text:PDF
GTID:2428330590996467Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
As a new approach to the design of Web application,microservice architecture has been valued and practiced by Internet companies at home and abroad in recent years.Microservice architecture is designed to decompose the system into a set of service components,which are highly cohesive and low-coupling.In a microservice-based system,jobs usually need to be implemented by multiple services.Therefore,it is necessary to design a job scheduling system so that cross-services jobs can be triggered reasonably.Based on the process of the job scheduling under the microservice architecture,this thesis designed and implemented a job scheduling system based on Quartz job scheduling framework and AMQP message middleware mechanism.The system realized the definition and display of job dependencies,making the management of job scheduling more convenient and efficient.Firstly,this thesis analyzed the research background and significance of the job scheduling system,and introduced the research status of the subject at home and abroad.Secondly,this thesis elaborated the requirement analysis and the summary design.Considering the basic functions of the microservice architecture,the system is divided into five services: log collection service,job scheduling service,message notification service,page interaction service and gateway service.Among them,services mainly use REST-style interface to realize communication.And the data management is realized by Elasticsearch,which is a kind of full-text search engine.Then,this thesis described how to design and implement all services in detail.Wherein,the log collection service provided log insertion and query interfaces,defined log classification,and pushed important system warnings to message notification service.The job scheduling service designed a job model based on the Quartz timer framework.In this part,we encapsulated the Job class and the Trigger class from Quartz to implement the basic job model,defined job dependencies by bidirectional directed acyclic graph and the job state,and realized the control of job scheduling flow by comining the job state and Trigger class;In order to implement the job scheduling in the heterogeneous or asynchronous situations,this thesis used the RabbitMQ which is a kind of message meddleware as a communication bridge for job delivery;The message notification service used the WeChat subscription account as a platform to push messages to administrators in real time;The page interacion service realized the graphical diaplay of job list and the dependecies between jobs based on the jsPlumb framework,providing administrators with a way to create basic jobs dynamically;The gateway service defined rules of requests forwarding,received the access requests from external user,and forwarded them to the corresponding business service.Then,this thesis introduced the deployment of the system running environment,the test cases,and the representative operation effect of the main modules of the system.At last,this thesis summarized the work and looked forward to the next step.
Keywords/Search Tags:Microservice, Job Scheduling, Quartz, Job Dependencies, Asynchronous Call, AMQP
PDF Full Text Request
Related items