高性能RPC框架:Hetty

jopen 12年前發布 | 79K 次閱讀 RPC XML-RPC 開發

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"));
}

項目主頁:http://www.baiduhome.net/lib/view/home/1352114909016

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!