2017/06/27 15:04
你好,我没有完整的运行您的代码,只是把序列化那部分单独拿出来测试了下,发现Request可以序列化成功,但是无法反序列化
private Class<?>[] parameterTypes;
private Object[] parameters;
这两个属性如果不赋值,或者去掉,才可以通过
2016/10/26 17:23
问个问题,在并发情况下,怎么保证当前返回给我的结果是我请求的,根据请求ID还是什么?还是说底层是同步的
2016/04/06 10:02

引用来自“幻影浪子”的评论

引用来自“黄勇”的评论

引用来自“明明没办法”的评论

能请问下这种框架的编写是基于哪个通信协议?是RMI吗?
基于 RPC

很久没有关注你的动态,今天偶然看到了你写的“老黄聊架构:微服务架构落地”,看到简介写了Smart就想起应该是你,上来确认,果然是你。
多谢关注啊,我竟然就这样变成老黄了
2016/04/05 18:53

引用来自“明明没办法”的评论

能请问下这种框架的编写是基于哪个通信协议?是RMI吗?
基于 RPC
2016/03/20 00:43

引用来自“luxiaoxun001”的评论

前辈,你好。基于你的文章和代码,整理了一份文章:http://www.cnblogs.com/luxiaoxun/p/5272384.html
主要修改:
1)在你的基础上加了判断服务父节点是否存在,如果不存在则添加一个PERSISTENT的服务父节点,这样虽然启动服务时多了点判断,但是不需要手动命令添加服务父节点了。
2)使用obj.wait()会出现假死等待问题,使用countdownlatch解决。
3)把Server端处理请求的过程改成了多线程异步。
4)加了TCP的粘包处理Handler LengthFieldBasedFrameDecoder(65536,0,4,0,0)
多谢分享!也请您看看我开源的代码:http://git.oschina.net/huangyong/rpc,与博客中出现的代码略有不同,该项目在生产环境使用过。
2016/03/20 00:40

引用来自“周高磊”的评论

本地启动zookeeper时,zookeeper本地的port=2181,而RpcBootstrap也是2181端口,因此因为端口冲突而导致启动失败:Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'rpcServer' defined in class path resource [spring.xml]: Invocation of init method failed; nested exception is java.net.BindException: Address already in use
这个问题怎么解决的?
换个端口
2016/03/15 21:54
java网络通信 群 542754157 群已作废,待更好的时机再建此群
2016/02/25 01:10

引用来自“mauersu”的评论

我对代码进行了再次整理,现在可以运行了,代码地址 https://github.com/mauersu/rpc4j.git 欢迎大家一起沟通交流 java网络通信 群 542754157
感谢分享!
2016/02/23 17:13

引用来自“i仅此而已”的评论

Netty我不太熟悉,楼主的代码我写了个测试,发现存在性能问题。测试内容 客户端发送请求服务端返回天气预报bean实体(内部无复杂嵌套对象,都是字符串)。AB测试, 100请求 50线程。 发现50%的请求要1.5s才能返回, 我也正在分析里面的原因呢。
是因为每次都新建连接, 还是代码中加锁导致的。要是一个长连接,替换锁的同步机制性能是否能够得到提升呢。 同样的代码我用Dubbo测试,都是几毫秒返回。
可否将测试业务逻辑代码 发给我一份呢?
2016/02/23 16:54
我对代码进行了再次整理,现在可以运行了,代码地址 https://github.com/mauersu/rpc4j.git 欢迎大家一起沟通交流 java网络通信 群 542754157
2016/02/23 16:43

引用来自“文博123”的评论

测试没反应,也没出现绿条,啥原因呀
我把代码调整了下,现在可以运行了,代码地址 https://github.com/mauersu/rpc4j.git (小时的代码fork 基础上调整的)
2016/02/23 16:43

引用来自“小时”的评论

代码还更新吗

引用来自“黄勇”的评论

您好!目前没有更新计划。

引用来自“小时”的评论

哦,这是我对代码进行了整理https://github.com/zoopaper/rpc4j,学习入门。

引用来自“黄勇”的评论

赞!我也 clone 下来了,咱们相互学习

引用来自“小时”的评论

引用来自“roway”的评论

你的运行不了
我把代码调整了下,现在可以运行了,代码地址 https://github.com/mauersu/rpc4j.git (小时的代码fork 基础上调整的)
2016/02/22 14:48
测试没反应,也没出现绿条,啥原因呀
2016/01/09 11:47

引用来自“jn_nian”的评论

发现服务:192.168.18.112:8000
[com.demo.scf.api.HelloService.getHelloWorld]响应时间:194
服务返回:Hello, Namer
发现服务:192.168.18.112:8000
[com.demo.scf.api.HelloService.getUserInfoList]响应时间:16
com.demo.scf.api.domain.UserInfo@ec4af6[id=112,userName=name1,sex=1,remark=remark1]
com.demo.scf.api.domain.UserInfo@12d5cf3[id=113,userName=name2,sex=0,remark=remark2]
com.demo.scf.api.domain.UserInfo@131626e[id=114,userName=name3,sex=1,remark=remark3]
com.demo.scf.api.domain.UserInfo@1355dd0[id=115,userName=name4,sex=1,remark=remark4]
做了个测试,发现只要是第一次请求,就会出现第一个请求很耗时,其余的就正常
第一次耗时也是正常现象哦
2015/12/10 22:15

引用来自“steveJox”的评论

楼主,为何我一直包这种错误;java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor
Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.ClassVisitor,能帮忙解释一下吗?
这应该是缺 jar 包了
2015/10/11 16:49
其实就是个Zookeeper的Example来实现所谓的分布式RPC。其他都是花拳绣腿,就Zookeeper最有用。
2015/10/11 00:35

引用来自“雪里说”的评论

我有一个问题,文中rpc通过netty进行数据传输,是client端到server端直连吗?这样的话,一旦涌入大量client端请求,server端服务如何提升负载能力?
这是短连接,并非长连接,所以此问题并不存在哦。
2015/10/08 12:55
我有一个问题,文中rpc通过netty进行数据传输,是client端到server端直连吗?这样的话,一旦涌入大量client端请求,server端服务如何提升负载能力?
2015/09/19 22:01

引用来自“大槐树底下的小白白”的评论

我按照书上的配置可是配到mvn:tomcat7 run就无从下手了。我不想社区的idea

请问具体有何问题呢?
2015/09/17 16:20

引用来自“大槐树底下的小白白”的评论

引用来自“黄勇”的评论

引用来自“泥沙砖瓦浆木匠”的评论

上阶段阿里的中间件比赛,用上勇哥的RPC 直接特等奖[13]
特等奖不会是“阳光普照奖”吧?

勇哥....今天才买的您的书。以后你就是我架构师道路的牵引着。。。求回复
加油!你也可以的。
2015/09/05 11:40

引用来自“泥沙砖瓦浆木匠”的评论

上阶段阿里的中间件比赛,用上勇哥的RPC 直接特等奖[13]
特等奖不会是“阳光普照奖”吧?
2015/09/05 08:24
上阶段阿里的中间件比赛,用上勇哥的RPC 直接特等奖[13]
2015/09/04 18:20

引用来自“hello112”的评论

本文通过 Spring + Netty + Protostuff + ZooKeeper 实现了一个轻量级 RPC 框架
首先 用了 4个框架 不应该 算是 轻量级了,dubbo也就如此了,你说呢?是不是用词不当了 哈哈
人家 要想看懂,先要学 netty ,在学 zookeeper,还要 去琢磨 什么是Protostuff ,这也叫轻量级?现在只要是依赖spring的,都称不上轻量级了,spring几个人会啊 ?
这个要看如何来理解“轻量级”这三个字了,如果从系统实现的角度来看,技术选型太多导致依赖太多,这样确实不够轻,但如果从用户的角度来看,框架便于使用也便于扩展,这样一来也不会感觉重。我个人对轻量级的理解比较赞同后者。不知道您会怎么看呢?欢迎交流。
2015/09/01 11:06

引用来自“乒乓狂魔”的评论

勇哥的rpc很赞,按照你的教程搭了一个,通过了13
这个框架是比较早期的,只是一个概念而已,里面仍然有一些问题,欢迎讨论。
2015/09/01 08:56
勇哥的rpc很赞,按照你的教程搭了一个,通过了13
2015/08/27 21:14

引用来自“中间开花”的评论

勇哥,RpcDecoder里貌似漏了个return,if (in.readableBytes() < dataLength) {
in.resetReaderIndex();
return;
}
这个 bug 在开发过程中遇到过,我们已经修复了,但博客上还没有来得及修改。谢谢!
2015/08/24 18:09
楼主写的非常赞,学习啦
2015/08/14 20:33
勇哥,阿里已经实现过了。7
2015/08/04 15:13
79
2015/04/30 21:54

引用来自“引鸩怼孑”的评论

public void register(String data)
这个data 是不是 rpc的 服务地址?
是的
2015/04/07 20:58

引用来自“jiajianfa”的评论

66,我也整理了一份,https://github.com/jiajianfa/rpc
文档很震撼!如果再配上示例就更好了
2015/03/18 23:12

引用来自“小时”的评论

代码还更新吗

引用来自“黄勇”的评论

您好!目前没有更新计划。

引用来自“小时”的评论

哦,这是我对代码进行了整理https://github.com/zoopaper/rpc4j,学习入门。
赞!我也 clone 下来了,咱们相互学习
2015/03/18 17:44
涨了不少姿势
2015/03/18 13:28

引用来自“小时”的评论

代码还更新吗
您好!目前没有更新计划。
2015/01/04 13:06

引用来自“仪山湖”的评论

protobuffer, thrift都带有RPC功能,楼主再整合一个RPC都框架,出发点是什么?
protobuf 的强项是序列化,而 thrift 包括了序列化与 rpc,但相比较而言,protobuf 的序列化比 thrift 更强,且易用性也更好。用 thrift 可以取代 netty + protobuf,但从使用者角度来看,thrift 的学习成本较高,因此才打算开发一个 rpc 框架。
2015/01/02 18:01

引用来自“仪山湖”的评论

protobuffer, thrift都带有RPC功能,楼主再整合一个RPC都框架,出发点是什么?

为了构建分布式服务架构体系,与OpenAPI整合,后续会进一步分享。
2015/01/02 17:27
protobuffer, thrift都带有RPC功能,楼主再整合一个RPC都框架,出发点是什么?
2015/01/01 22:57
博文《轻量级分布式 RPC 框架》源码地址:http://www.oschina.net/code/snippet_223750_45050
2014/12/31 21:10

引用来自“skyim”的评论

zookeeper 使用过程中,有没有发现一种延迟通知现象,在网络超时等情况下,zookeeper节点未收到已经挂掉节点情况下,去 访问挂点节点的服务器

我们刚开始使用zk,您说的现象我们目前还未遇到。
2014/12/31 01:09

引用来自“鑫鑫哥哥呀”的评论

测试了一下,一直重复上边这个错误,不知道什么原因,还是哪里我没有配置正确?
请问 8989 是哪个的端口?运行过程是:先开启 ZooKeeper,然后运行 RpcBootstrap,最后运行 HelloServiceTest,一定是可以的,祝你好运!
2014/12/30 17:57

引用来自“鑫鑫哥哥呀”的评论

netty的异步 如何体现呢?
Netty 对 NIO 提供了一个良好的封装,让开发者更加方便地编写 NIO 程序,而无需接触底层的 NIO API。所以异步是指确保读取或写入进程不会造成 IO 阻塞,说白了就是可以让后面的进程继续工作,这样一来也就提高了整个系统的吞吐率。
2014/12/30 17:54

引用来自“ad5248”的评论

没有看懂zookeeper在当中起什么作用 ,求解答
ZK 在该架构中扮演了“服务注册表”的角色,用于注册所有服务器的地址与端口,并对客户端提供服务发现的功能。
2014/12/30 17:52

引用来自“lgscofield”的评论

服务化和RPC有啥区别啊
服务化是将业务封装成服务组件对外提供服务接口或称为 API,而 RPC 用于解决分布式环境下服务组件之间的通信问题。
2014/12/29 13:39
漂亮,赞一个!简单经典!
2014/12/29 10:28
大赞
2014/12/29 10:09
漂亮 顶一个13
回复 @
{{emojiItem.symbol}}
返回顶部
顶部