Java远程调用(一)基本原理

本文详细介绍了几种远程服务调用技术,包括Dubbo、RMI、WebService、Hessian和netty,从通信协议、网络IO、多线程等方面阐述了其基本原理和关键技术点。

最近项目开始服务化,稍微看了些远程服务调用的东西,主要还是公司一位前辈的一些经验。


有哪些远程调用技术: Dubbo 、 RMI、 Web Service 、 Hessian、netty。

基本原理在底层层面去看,就是将流从一台计算机传输到另外一台计算机,基于传输协议( http、tcp、udp等等)和网络IO( bio、nio、aio )来实现。

关键技术点

1. 通信协议:传输层:socket(tcp,udp) 应用层: http

2. 应用级的协议(dubbo, JRMP,SOAP, xml-rpc(xml+http),binary-RPC(二进制+http))
    2.1. 提供更加易用的标准传输格式,避免直接做流操作.
    2.2. 实现网络通信机制
        将传输格式转化为流
通过某种传输协议传输至远端计算机
远端计算机将流转化为传输格式

3.网络IO
bio(阻塞)、
nio(非阻塞)、
aio(异步,jdk7中新特性)。
4. MultiThread,在服务端为每个请求启用一个线程
5. 本地调用与远程调用的透明化方案
java classloader、Dynamic Proxy
6. 网络通信处理机制
自动重连、广播、异常、池处理等等
7. 序列化 
各种协议的序列化机制


下一章实现一个简单的远程服务调用



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值