论坛首页 Java企业应用论坛

纯Java的高性能长连接RPC解决方案

浏览 50303 次
精华帖 (5) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-01-21  
dragonsoar 写道
sniffer123 写道
单机支持50W连接吗??


支持,具体的优化方式在我的空间里面有

里面那些系统参数的设置麻烦能不能解释下?
0 请登录后投票
   发表时间:2013-01-23   最后修改:2013-01-23
支持一吧,顺便问下  看了有些的RPC框架,底层通讯是借助消息中间件比如 ActiveMq 或者 redis之类的做数据交换,和你的这种底层基于netty的  两者有什么差别呢? 性能上那种更好
0 请登录后投票
   发表时间:2013-01-23  
2350054 写道
支持一吧,顺便问下  看了有些的RPC框架,底层通讯是借助消息中间件比如 ActiveMq 或者 redis之类的做数据交换,和你的这种底层基于netty的  两者有什么差别呢? 性能上那种更好


1. 性能上确实是有不小的差距,activemq我测试了,2K数据性能在3000不到
2. redits做数据交换的和这个我感觉没有太直接的关系,所以不太好说这个和远程通讯的关系

远程通迅就是想方便,简单的使用。所以我个人的原则是支持越少依赖越好了
0 请登录后投票
   发表时间:2013-01-23  
HsfConnector connector = new HsfConnectorImpl();
connector.connect(AddressUtil.parseAddress("127.0.0.1:8088"));
TestService testService = ServiceProxyFactory.getRoundFactoryInstance(connector).wrapSyncProxy(
TestService.class);
                testService.test("Hello World");

看了下 调用代码,客户端需要知道服务部署的IP地址吗? 如果testService 部署带10台机器上,客户端需要知道所有IP,依次connect?
0 请登录后投票
   发表时间:2013-01-23  
2350054 写道
HsfConnector connector = new HsfConnectorImpl();
connector.connect(AddressUtil.parseAddress("127.0.0.1:8088"));
TestService testService = ServiceProxyFactory.getRoundFactoryInstance(connector).wrapSyncProxy(
TestService.class);
                testService.test("Hello World");

看了下 调用代码,客户端需要知道服务部署的IP地址吗? 如果testService 部署带10台机器上,客户端需要知道所有IP,依次connect?

是的
0 请登录后投票
   发表时间:2013-01-24  
dragonsoar 写道
yunnysunny 写道
说白了通信的数据是二进制的,换成其他语言还得自己封装代码来解析数据包。感觉这是和webservice最大的区别。


是的

不知道你通信的时候,有没有对象序列化的操作,如果有这种操作,非java语言再反序列化的话太困难了。
0 请登录后投票
   发表时间:2013-01-24  
yunnysunny 写道
dragonsoar 写道
yunnysunny 写道
说白了通信的数据是二进制的,换成其他语言还得自己封装代码来解析数据包。感觉这是和webservice最大的区别。


是的

不知道你通信的时候,有没有对象序列化的操作,如果有这种操作,非java语言再反序列化的话太困难了。

刚才我看了,里面有个org.summercool.hsf.serializer.Serializer接口,我只需实现它,然后自定义一个SerializeDownstreamHandler和DeserializeUpstreamHandler即可。估计可以将其序列化成json字符串。
0 请登录后投票
   发表时间:2013-01-25  
yunnysunny 写道
yunnysunny 写道
dragonsoar 写道
yunnysunny 写道
说白了通信的数据是二进制的,换成其他语言还得自己封装代码来解析数据包。感觉这是和webservice最大的区别。


是的

不知道你通信的时候,有没有对象序列化的操作,如果有这种操作,非java语言再反序列化的话太困难了。

刚才我看了,里面有个org.summercool.hsf.serializer.Serializer接口,我只需实现它,然后自定义一个SerializeDownstreamHandler和DeserializeUpstreamHandler即可。估计可以将其序列化成json字符串。


是的
0 请登录后投票
   发表时间:2013-06-04  
你的boss和worker线程池,这部分功能在哪里看到?
0 请登录后投票
   发表时间:2013-06-05  
yunnysunny 写道
你的boss和worker线程池,这部分功能在哪里看到?

刚才看了一下源码,org.summercool.hsf.netty.service.AbstractHsfService(Executor, Executor, int),但是不知道怎么使用。
还有你的org.summercool.hsf.netty.service.AbstractHsfService(Executor, Executor, int)函数调用时,要依赖kryo-1.04.jar和minlog-1.2.jar。但是我是多语言之间进行通信,数据格式使用的是json,我不需要kryo;并且我的日志是使用的log4j,我也不需要minlog。
建议楼主将代码转移到github上,这样才利于其他人贡献代码。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics