Hetty高性能RPC框架
Hetty是一款構(gòu)建于Netty和Hessian基礎上的高性能的RPC框架.Hessian是一款基于HTTP協(xié)議的RPC框架,采用的是二進制RPC協(xié)議,非常輕量級 ,且速度較快。Netty是一款基于事件驅(qū)動的NIO框架,用以快速開發(fā)高性能、高可靠性的網(wǎng)絡服務器和客戶端程序。Hetty客戶端完全由 Hessian實現(xiàn),只是使用Netty重新實現(xiàn)了服務端。 使用方法:
1.配置Hetty服務器。
server.devmod=false #配置開發(fā)模式 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,且為默認版本。 第三部分配置客戶端的調(diào)用的版本,比如可以配置client1調(diào)用basic接口的1版本。
3.客戶端調(diào)用
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"));
}
