![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
文章平均质量分 70
一朝英雄拔剑起
又是苍生十年劫
展开
-
手把手教你实现一个RPC框架
文章目录0 前言1 总体介绍2 common模块2.1 ReflectionUtils.java3 codec模块3.1 序列化接口Encoder.java3.2 json序列化实现JSONEncoder.java3.3 反序列化接口Decoder.java3.4 反序列化实现JSONDecoder.java4 proto模块4.1 Peer.java4.2 Request.java4.3 ServiceDescriptor类4.4 Response.java类5 transport网络模块5.1 Tran原创 2021-03-04 22:30:38 · 5079 阅读 · 7 评论 -
3分钟搞懂RPC原理
文章目录1 RPC概念讲解2 图解交互形式-现有框架对比3 核心原理3.1 call 详细过程1 RPC概念讲解RPC:Remote Procedure Call,即远程过程调用。是分布式系统常见的一种通信方式,从跨进程到跨物理机已经有几十年历史。跨进程交互形式:RESTful、WebService、HTTP、基于DB做数据交换、基于MQ做数据交换,以及RPC。2 图解交互形式-现有框架对比相较于中间件形式,直接交互形式对服务端要求更高。3 核心原理0 server注册服务1 cl原创 2021-02-28 20:03:46 · 1158 阅读 · 2 评论 -
用go语言实现一个MapReduce框架
文章目录1 目的2 整体架构3 细节3.1 common.go3.2 rpc.go3.3 coordinator.go3.4 worker.go3.5 mrcoordinator.go3.6 mrworker.go4 运行5 完整代码获取1 目的本文会带领大家使用GO语言,实现一个MapReduce框架。该框架能够实现MapReduce的基本功能,能运行基本的MapReduce应用,如WordCount等。2 整体架构3 细节3.1 common.go在这里定义了公用的结构和函数。type原创 2021-02-28 15:22:52 · 2026 阅读 · 2 评论 -
MapReduce编程模型
如图所示,上图就是mapreduce的编程模型。MapReduce的流程分为5个阶段:输入文件 > Map > 中间文件 > Reduce阶段 > 输出文件步骤1 启动子进程:用户程序会启动两类子进程。第一类是Master子进程,负责任务分配与状态管理,Master子进程全局只有一个。第二类子进程是worker进程,worker子进程有两个阶段,一个阶段是Map阶段,一个阶段是Reduce阶段。worker进程会先处于Map阶段,等所有的Map任务都完成之后,再进入R.原创 2021-02-22 19:45:45 · 521 阅读 · 1 评论