高性能RPC框架:Hetty
Hetty是一款構建于Netty和Hessian基礎上的高性能的RPC框架.Hessian是一款基于HTTP協議的RPC框架,采用的是二進制RPC協議,非常輕量級 ,且速度較快。Netty是一款基于事件驅動的NIO框架,用以快速開發高性能、高可靠性的網絡服務器和客戶端程序。Hetty客戶端完全由 Hessian實現,只是使用Netty重新實現了服務端。 使用方法:
1.配置Hetty服務器。
server.devmod=false #配置開發模式 server.key=server1 #配置服務器Key,用于認證 server.secret=server1 #配置服務器secret,用于認證 server.port=8081 #配置端口號
server.thread.corePoolSize=4 #線程池配置 server.thread.maxPoolSize=100 server.thread.keepAliveTime=3000 server.method.timeout=3000 properties.file=config.xml #配置service定義文件
2.service配置
<?xml version="1.0" encoding="UTF-8"?> <services> <service name="basic" interface="test.BasicAPI"> <provider version="1" class="test.BasicService" default="true" /> </service> <service name="hello" interface="test.example.Hello" overload="true"> <provider version="2" class="test.example.Hello2Impl"/> </service> </services>
配置包括三部分,第一部分applications,配置客戶端的user和密碼,來做權限認證。第二部分配置service接口,比如: 我們配置了test.BasicAPI接口,接口名字為basic,有一個版本,版本號為1,且為默認版本。 第三部分配置客戶端的調用的版本,比如可以配置client1調用basic接口的1版本。
3.客戶端調用
public static void main(String[] args) throws MalformedURLException { String url = "http://localhost:8081/apis/hello/"; HessianProxyFactory factory = new HessianProxyFactory(); factory.setUser("server1"); factory.setPassword("server1"); factory.setOverloadEnabled(true); final Hello basic = (Hello) factory.create(Hello.class, url); System.out.println(basic.hello()); System.out.println(basic.hello("guolei")); System.out.println(basic.hello("guolei","hetty")); }
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!