Font Size: a A A

Researches On Service Govermance Of Dubbo

Posted on:2019-02-06Degree:MasterType:Thesis
Country:ChinaCandidate:R HeFull Text:PDF
GTID:2428330596466390Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the increase of business processes in a system,there are a lot of overlaps between different application modules,which seriously affect the development and operation of the system.With the development of technology,a service-oriented solution is generated,which splits the application and extracts the different business processes as separate services.At the same time,the application interface call is transformed into the remote call of the services.Dubbo,as an open source distributed service framework of Alibaba,provides a high-performance remote service invocation scheme.It is widely used in many Internet corporations,but its development is earlier,and the service governance module is relatively simple,so there is room for improvement.In order to optimize the service governance in the process of distributed remote service invocation,the studies carried out in three aspects: service routing and load balancing,service fault tolerance and service call tracking.The main research work presented in this thesis is as follows:(1)The four load balancing algorithms of Dubbo mainly allocate requests according to the server's weight.When the performance of servers in a cluster is quite different,the algorithm based on weight will lead to load imbalance,and some servers can't be fully utilized.A new load balancing strategy with dynamic weight adjustment is proposed,which is an improvement on the weighted polling algorithm.In this strategy,the real-time load capability of a server is measured by the server performance and the real time connection number of the server.Through feedback mechanism,the server weight is adjusted in real time which improves the comprehensive utilization of the server.At the same time,the request allocation algorithm is simplified,which reduces the service response time.(2)When service calls are unusual,Dubbo provides some fault tolerance strategies,such as timeout strategy,retry strategy,failover strategy and so on.Due to complex dependencies between services,and shortcomings of existing solutions,the exception of service invocation will spread.For this problem,a scheme of automatic circuit breaker and fallback is proposed,which is composed of isolation strategy with thread pool,circuit breaker and fallback strategy.Firstly,the service is isolated with thread pool,preventing the call failure diffusion from the resource level.Secondly,the timeout is quickly failed to avoid occupying resources.Finally,the service state switching is carried out by the circuit breaker.This scheme implements automatic processing and recovery of service invocation exceptions,thus improving the fault tolerance ability of the system.(3)Dubbo simply collects application information,service information and service calling information,and stores it in the disk.The long running time of the system may cause the disks to be full.Dubbo also lacks analysis and statistics on service invocation,which is not conducive to service governance.In order to improve these defects,this thesis designs and implements a service call tracking tool,DubboTrace.It completes the interception and transmission of service call information by extending the Dubbo's Filter interface.Then,it stores the collected invocation information in the database.And it provides a visual interface to view the call chain information and shows the statistics of the calling information through a chart.Users can query the service information more intuitively with DubboTrace,and can improve the service governance.
Keywords/Search Tags:Dubbo, service governance, load balancing, cluster fault tolerance, service call tracing
PDF Full Text Request
Related items