[6][lab] lab1: map reduce
lab1 map reduce 对比了一下2020和之前的lab1,代码结构有一些变化,2018作业代码侧重于实现map reduce以及schedule部分,其他部分由框架给出,2020则是给出了map reduce部分,并将mr和app利用plugin分开表达,同时需要lab开发整个mr框架部分,借鉴已完成的2018可以顺利完成该部分实验。 master,由启动+wait,变更为启动+轮询,worker无变化 整体框架,master维护了作业信息,输入的文件总数,整体作业进度信息,完成后完成清理和返回 work通过rpc注册自己的存在,然后按照master发布的task执行任务,交互通过共享文件系统实现 net/rpc 提供rpc功能,可以通过本地unix socket或者tcp socket,TODO 思考如何基于net基本功能实现一个rpc库 server指定类型,以及方法,都是可导出的 server注册服务,handle,listen,server来开启server rpc服务 client可以选择同步call或者异步Go方法来执行rpc package server import "errors" type Args struct { A, B int } type Quotient struct { Quo, Rem int } type Arith int func