bbossgroups、missian、Hprose等RPC框架介绍

一、bbossgroups RPC

bbossgroups RPC 是基于bbossaop的轻量级rpc框架。bbossgroups提供的RPC框架是bboss aop子项目中一个子模块,具有以下特点: 
1.支持多种通讯协议jms,jgroups,mina,webservice,restful,并且协议可扩展 
2.提供强有力的安全管理插件(可插拔的认证、鉴权、数据包加/解密插件),保证远程通讯安全可靠。 
3.开发部署模式简便,打破传统的RPC开发模式,你只需启动aop框架中提供的各种协议之一(例如jms, jgroups,mina,webservice)或者同时启动几种协议,你就可以对aop框架中管理的任何组件发起远程方法调用,唯一的前提是你的方法参数和返回结果必须是实现java.io.Serializable接口。同时你可以通过 rpc框架的各种安全管理插件来保护你开放的远程组件服务。 
4.远程方法调用方式简单,你只需要按照以下格式即可发起一个远程方法调用 
5.安全管理机制可以方便地启用和关闭 
6.远程方法调用过程可自动调优,即自动区分远程目标地址是本地地址还是远程地址,判别rpc调用是远程方法调用还是当做本地方法调用 
7.可以简单地实现单点服务调用和多播服务调用,如果是多播服务调用,rpc框架提供了获取不同服务器返回结果的相应接口,简单实用 
8.bbossgroups rpc服务框架提供远程服务通讯的质量保障,例如故障重连,访问超时等等 
9.bbossgroups rpc应用场景广泛,可以用于普通的rpc服务调用场景,也可以用作集群环境中各节点应用之间通讯工具,因为你可以轻易地发布你的应用的远程组件,轻易地发起远程方法调用(只是获取组件实例的方法不同,方法调用和普通的对象方法调用一样) 
10.rpc框架充分集成并吸纳了各种通讯协议本身的优点(jms,webservice,jgroup,mina)。 
11.通过restful风格的协议,可以方便地实现rpc服务的路由功能

二、Missian RPC

Missian是一个构建于Mina和Hessian基础上的异步RPC框架,能够兼容HTTP协议和TCP协议,能和Hessian互通兼容,它提供了:

1、一个基于mina的高性能服务器,具备mina所有的一切优秀基因。Missian服务器能够在一个端口之上兼容tcp和http协议格式,因 此开启了Missian服务之后,即可以用Missian客户端调用(同步/异步,HTTP/TCP),也可以供Hessian客户端调用。

2、一个基于阻塞式的传统Socket的同步客户端,同样支持HTTP和TCP,它可以使用HTTP或TCP去访问Missian服务,同时也可以 使用HTTP方式去访问Hessian服务。您可以选择使用短连接的方式,也可以使用长连接(这时强制要求使用连接池,但Missian提供了一个基于 apache commons-pool的Socket连接池实现)。可以根据具体情况决定使用方式。

3、一个基于Mina NioSocketConnector的异步客户端。默认使用一个4个线程的线程池来处理回调,但开发者也可以指定线程数,或者传入一个存在的线程池。异 步客户端只能调用Missian服务,而不能够调用Hessian服务(正在思考如何实现)。同样,协议可以是HTTP或者TCP。


三、Hprose RPC

Hprose (High Performance Remote Object Service Engine) 是一个MIT开源许可的新型轻量级跨语言跨平台的面向对象的高性能远程动态通讯中间件。它支持众多语言,例如nodeJs, C++, .NET, Java, Delphi, Objective-C, ActionScript, JavaScript, ASP, PHP, Python, Ruby, Perl 等语言,通过 Hprose 可以在这些语言之间实现方便且高效的互通。
Hprose 易学易用,且功能强大,您只需很短时间的学习,就可以用它方便地构建出跨语言跨平台分布式的电信级应用系统。

代码:https://github.com/hprose/hprose-java


你可能感兴趣的:(rpc)