Font Size: a A A

The Research And Implement Of The Distributed RPC Framework Based On Java Platform

Posted on:2017-04-03Degree:MasterType:Thesis
Country:ChinaCandidate:P D XuFull Text:PDF
GTID:2428330590968190Subject:Computer technology
Abstract/Summary:PDF Full Text Request
China internet network information center reports that there were 3.57 million web sites and 668 million netizens in China by July 2015.With this background,the large internet enterprises operate a lot of different web sites and mobile applications,taking huge network traffic.This situation pushes internet enterprises to upgrade their technical solution from vertical applications architecture to SOA(service-oriented architecture).SOA integrates a set of services into a service center for each business domain.The application layers of web sites and mobile applications are built on these services centers which have great scalability.We do a series research of RPC and SOA technology stacks,and implement a distributed Java oriented RPC framework which is an essential middleware for SOA realization.It will provide transparent and high performance end to end RPC(remote procedure call)ability,and a set of service management abilities which can improve system usability and reduce operation cost.The research process consists of two parts.The first part is major theoretical research of the two core framework functionalities which are end to end RPC and service management.The major theories of RPC include RPC access protocol,service proxy,serialization protocol,and network communication model.The major theories of service management include service registry center,service monitor,cluster,load balance,and fault tolerant.The second part is research and analysis of Hessian and Thrift which are the popular RPC products.We learn their advantages on end to end RPC implementation,and pay attention to service management functionalities which are missed by them.The design and implement process consists of three parts,and follows the top to down design paradigm.The first part completes high level design of the distributed RPC framework.It includes core components,layer structure definition and common mechanism design.The second part implements service provider and service consumer components which are responsible for end to end RPC functionality,registry center and monitor center components which are responsible for service management functionality.The third part designs the functional and performance test cases,and verifies the RPC framework by these cases.It's verified by functional test that the distributed RPC framework provides users the ability to develop and integrate remote service transparently by configuration.In the same time,registry center component of the RPC framework provides a set of service management abilities,for example,automatic service registry and discovery,cluster,load balance,and fault tolerant.Users can archive statistical data from service monitor center.To compare the framework with other RPC middleware,it has several major improvements.Customized RPC access protocol and serialization protocol improve performance of end to end PRC.Extension point mechanism and filter chain mechanism realize modularization.Client-side load balance and protocol adaptation avoid middle nodes in remote call channel,then improve usability.The performance test result of using customized object as input and output parameters presents that the RPC framework reduces 85% average response time,and increases 10 times throughput to web service middleware.In traditional enterprises,the goal of realizing SOA is heterogeneous systems integration.Internet enterprises have different purposes which are domain service centers build,improvement of development and deployment productivity,and high performance and usability of the middleware itself.The statistical data of the distributed RPC framework in production environment proves that it matches the design goal.There are above 2,000 applications being integrated with the framework,2 billion calls per day,and 99.99% available time per year.The distributed RPC framework is built on Java platform,and doesn't provide out-of-the-box implementation for other programming languages.The reason is that the target internet enterprise has its own development department,and builds most business applications on Java platform.If developers need to integrate the RPC framework on other platform or heterogeneous environment,they should follow the design idea to implement the service provider and service consumer components by developing with special programming language.The registry center and monitor center components are platform independency.They can be integrated directly.
Keywords/Search Tags:RPC, Java, Distribution, SOA, Service Management, Modularization
PDF Full Text Request
Related items