spring框架对 remoting 支持的总结

xiaoxiao2021-02-28  78

spring 作为一个基础框架,最remoting(远程调用)有多种支持。

对传统RMI方式的支持 ,RMI是java 平台上最传统的 远程调用方法,这种方法基于Java Remote Method Protocol ,而这个协议的底层是TCP。实现传统RMI的核心类为RmiProxyFactoryBean 和 RmiServiceExporter,传统RMI使用Java平台默认的序列化方法序处理对象,同时因其底层为TCP,故易被某些防火墙拦截。由于属于传统的远程调用方法,所以被放在spring-context这个jar中。使用范例使用HTTP 协议进行remoting.由于传统的RMI方式存在协议可能被拦截等问题,spring增加了http方式的remoting,也就是说使用HTTP协议取代了JRMP协议。这种方式有优点为只要防火墙允许HTTP协议即可运行。其他方面依旧使用Java平台默认的序列化方法序处理对象。由于使用了HTTP协议,服务器端需要运行在web服务器中,同时核心类HttpInvokerServiceExporterHttpInvokerProxyFactoryBean也被放在spring-web这个jar中.使用http协议和Hessian序列化进行remoting.这种方式使用Hessian序列化取代Java平台的默认序列化方法,依旧使用HTTP协议。核心类HessianProxyFactoryBeanHessianServiceExporter被放在spring-web这个jar中.hessian具有更快的序列化速度和更小的体积。使用http协议和Burlap序列化进行remoting.这种方式使用Burlap序列化取代Java平台的默认序列化方法,依旧使用HTTP协议。核心类BurlapProxyFactoryBeanBurlapServiceExporter被放在spring-web这个jar中.这种方法已经在spring 4.0 版本中被列为过时。使用AMQP消息服务协议和JAVA序列化进行remoting.这种方法的优势是使用消息队服务器作为中间件,消息队列作为请求的缓存层,可以实现多个服务端在统一接口提供同样的服务。核心类AmqpProxyFactoryBeanAmqpInvokerServiceExporter被放在spring-amqp这个jar中.使用范例
转载请注明原文地址: https://www.6miu.com/read-60929.html

最新回复(0)