RPC框架研究(二)Hadoop源代码-1】的更多相关文章

报名了阿里中间件性能大赛,我来说是一个全新的挑战.一切从空白学起,比赛的过程也是学习的过程 是的.想让自己学好.给自己报一个比赛吧~ 就像当初学围棋,也是报了围棋比赛,为了不至于输的太慘.一个星期里学了好多东西 第二天 Hadoop源代码-1 小雨 天真的以为学了Java回调机制后就能够把原来的RPC框架改为异步调用了,结果对着代码一下午都没想出要怎么去改,怎么入手. 于是决定研究一下Hadoop的源代码,看看别人是怎么实现RPC的,这也是我第一次研究源代码,曾经都是仅仅管用.无论怎样实现. 使…
hadoop中的RPC框架实现机制 RPC是Remotr Process Call, 进程间的远程过程调用,不是在一个jvm里. 即,Controller拿不到Service的实例对象. hadoop中的RPC应用实例demo 在windows是调用端,在linux里是服务端. 在这里,需要LoginServiceinterface.java 停止 出错误了,很明显. 这是个很好的思考题?…
前言 上一篇文章中我们已经知道了什么是 RPC 框架和为什么要做一个 RPC 框架了,这一章我们来从宏观上分析,怎么来实现一个 RPC 框架,这个框架都有那些模块以及这些模块的作用. 总体设计 在我们的整个框架里比较重要的几个模块: rpc-procotol: 既然是可插拔是框架,我们需要支持选择底层协议,这部分是通信协议相关的模块. rpc-spring: 我们的框架是基于 spring 开发的,这个模块是将我们的一些功能和 spring 整合起来,比如自动注入代理 bean,启动服务端 se…
前几天,部门召开了PHP技术峰会 学习会议,大家分别对这次会议的PPT 做了简单的介绍, 其中提到了 鸟哥[惠新辰]的一篇PPT<微博LAMP 演变>,如果谁有需要可以去谷歌搜,或者去 http://www.laruence.com/2013/08/15/2913.html  他的博客去看一下,我就不提供下载链接了. 这篇PPT中提到了几个点: Yaf,Yac,Yar:我们会后也分任务对这些去做一些了解. 我选了Yar,去年5月份,因为一淘首页要做一次Bigpipe的改版,我用C写过一个并行化…
客户端的注册流程如下 核心功能主要如下: 1.生成调用远程HSF服务的代理 此代理的效果为生成ServiceMetadata中指定的interface的代理,调用时可将代理转型为服务接口,并进行直接的对象调用. 代理将完成对于远程HSF的调用. 2.服务地址获取 拉取diamond服务的可用地址 订阅configserver上地址变更时间…
首先在介绍本节内容之前,首先来看看官方文档来如何描述Prism 应用的初始化吧!A Prism application requires registration and configuration during the application startup process—this is known as bootstrapping the application,也就是说在在一个Prism应用程序开始之前首先要做的就是注册和配注应用程序,我们以此为突破点,一步步来剖析. 1 What is…
@ 目录 Hadoop RPC 框架解析 1.Hadoop RPC框架概述 1.1 RPC框架特点 1.2 Hadoop RPC框架 2.Java基础知识回顾 2.1 Java反射机制与动态代理 2.1.1 代理关键类&接口信息 2.1.2 动态代理创建对象的过程 2.2 Java网络编程 2.3 Java NIO 2.3.1 简介 2.3.2 常用类 3.Hadoop RPC基本框架分析 3.1 RPC基本概念 3.1.1 RPC组成部分 3.1.2 RPC工作流程 3.2 Hadoop RP…
概述 首先这篇文章是要带大家来实现一个框架,听到框架大家可能会觉得非常高大上,其实这和我们平时写业务员代码没什么区别,但是框架是要给别人使用的,所以我们要换位思考,怎么才能让别人用着舒服,怎么样才能让我们的框架性能优异.通过自己写一个框架,我们能学到的有很多,能让我们脱离 CURD,在更高的层面上去思考. 目的 写这个框架最主要的目的是要让大家了解整个框架的设计思想和用到的技术,并不是让大家关注代码,当然我实现的代码一定不是完美的,还有很多需要改进的地方,希望大家不吝赐教,一起进步. 提前准备…
Hadoop中自己提供了一个RPC的框架.集群中各节点的通讯都使用了那个框架 1.服务端 1.1.业务接口:ClientNamenodeProtocol package cn.bigdata.hdfs.hadoopRpc.protocol; //定义业务接口方法 public interface ClientNamenodeProtocol { // 协议版本号 public static final long versionID = 1L; public String getMetaData(…
前情提要: Spark RPC框架源码分析(一)简述 一. Spark RPC概述 上一篇我们已经说明了Spark RPC框架的一个简单例子,Spark RPC相关的两个编程模型,Actor模型和Reactor模型以及一些常用的类.这一篇我们还是用上一篇的例子,从代码的角度讲述Spark RPC的运行时序,从而揭露Spark RPC框架的运行原理.我们主要将分成两部分来讲,分别从服务端的角度和客户端的角度深度解析. 不过源码解析部分都是比较枯燥的,Spark RPC这里也是一样,其中很多东西都是…