设为首页 加入收藏

TOP

Golang 1.4 net/rpc server源码解析
2015-07-16 12:57:14 来源: 作者: 【 】 浏览:6
Tags:Golang 1.4 net/rpc server 源码 解析

server.go


方法注册:


因为从client我们知道是复用的socket来实现并发调用rpc方法,我们先从方法注册来看源码部分:


请求调用:


方法已经被注册成功,接下来我们看看是如何客户端发送请求调用的:


资源重用:


上面把大致的rpc请求都说明了,server有一个技巧是重用对象,这里使用的是链表方式处理的:


最后,sending这把锁的目的是避免同一个套接字快速请求中避免返回包写入乱序,因此避免一个包完整写入完毕才允许下一个返回写入套接字。通过rpc包源码解析,可以看到标准库中的核心思想还是channel+mutex实现复用对象,以及各种方式的复用,避免GC压力,在我们以后写高性能服务端可以借鉴的地方。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Golang 1.4 net/rpc client源码解.. 下一篇Java过程——嵌套与迭代

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: