《深入篇》我们主要围绕 RPC 的功能目标和实现考量去展开,一个基本的 RPC 框架应该提供什么功能,满足什么要求以及如何去实现它?
RPC 功能目标
RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用,在前文《浅出篇》中给出了一种实现结构,基于...
分类:
其他好文 时间:
2014-09-22 14:24:22
阅读次数:
305
近几年的项目中,服务化和微服务化渐渐成为中大型分布式系统架构的主流方式,而 RPC 在其中扮演着关键的作用。 在平时的日常开发中我们都在隐式或显式的使用 RPC,一些刚入行的程序员会感觉 RPC 比较神秘,而一些有多年使用 RPC 经验的程序员虽然使用经验丰富,但有些对其原理也不甚了了。 缺乏对原理层面的理解,往往也会造成开发中的一些误用。
本文分上下两篇《浅出篇》和《深入篇》,其目标就是想尝试...
分类:
其他好文 时间:
2014-09-22 13:52:02
阅读次数:
243
1. NFS配置
vi /etc/export 加入所需要共享目录。例如:
/home/liukang/workship 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)
修改完毕后,运行
#exportfs -a 使改变生效。
#/etc/init.d/nfsserver start 启动NFS服务器。
#ex...
分类:
系统相关 时间:
2014-09-22 12:26:22
阅读次数:
306
cifs: 微软系统中用于网上邻居共享的一个机制,在linux下也可以通过命令mount -t cifs .....来挂载共享的文件目录等。nfs: linux之间的共享文件方式,基于rpc server方式,挂载命令mount -t nfs .....详细如下: nfs服务器搭建需要软件rpc.....
分类:
其他好文 时间:
2014-09-22 11:20:42
阅读次数:
178
一、NameNode 的接口分析1. NameNode本质 经过前面的学习,可以知道NameNode 本身就是一个java 进程。观察RPC.getServer()方法的第一个参数,发现是this,说明NameNode 本身就是一个位于服务端的被调用对象,即NameNode 中的方法是可以被客户端....
分类:
其他好文 时间:
2014-09-20 19:44:49
阅读次数:
171
一、RPC(Remote Procedure Call)简介 RPC 是远程过程调用(Remote Procedure Call),即远程调用其他虚拟机中运行的javaobject。RPC 是一种客户端/服务器模式,那么在使用时包括服务端代码和客户端代码,还有我们调用的远程过程对象。HDFS 的运行...
分类:
其他好文 时间:
2014-09-20 13:30:18
阅读次数:
194
目前Linux的擅长应用领域是:单一应用的基础服务器应用,譬如DNS、Web服务器、NFS服务器、防火墙、文件服务器、代理服务器、中小型数据库。Linux网络故障大多与服务器配置有关。下面我们介绍一下故障排除步骤。一、Linux网络故障之网卡故障Linux的网络实现是模仿FreeBSD的,它..
分类:
系统相关 时间:
2014-09-19 19:37:46
阅读次数:
431
Hadoop端口说明:默认端口 设置位置 描述信息8020 namenode RPC交互端口8021 JT RPC交互端口50030 mapred.job.tracker.http.address JobTracker administrative web GUI JOBTRACKER的HTTP服务...
分类:
其他好文 时间:
2014-09-19 15:26:05
阅读次数:
168
可以对照使用google protobuf RPC实现echo service一文看,细节本文不再描述。
google protobuf只负责消息的打包和解包,并不包含RPC的实现,但其包含了RPC的定义。假设有下面的RPC定义:
service MyService {
rpc Echo(EchoReqMsg) returns(EchoRespMsg)
}
那么要实...
分类:
其他好文 时间:
2014-09-18 23:52:27
阅读次数:
512
1、场景某单位需要配置NFS服务器,为另外一台运行Oracle数据库的Linux服务器提供备份存储。主机名IP地址nfs1.abc.local192.168.188.11db1.abc.local192.168.188.132、实验环境[root@localhost~]#cat/etc/redhat-release
RedHatEnterpriseLinuxServerrelease6.4(Santiago)
[root@..
分类:
其他好文 时间:
2014-09-18 16:52:04
阅读次数:
388