论坛首页 Java企业应用论坛

分布式通信框架

浏览 12410 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2010-09-20  
框架初步具备了负载均衡和容错,可以路由到具体的重载方法。


前半句很惊艳,后半句很雷人。
0 请登录后投票
   发表时间:2010-09-20  
ray_linn 写道
Hessian架构在Http协议之上,效率低不说,不能脱离web容器

--- 这是个伪命题把? http协议最强的地方,就是几乎所有的firewall都打开了80口

 

一般来说, http效率不算低。

 

长连接,异步servlet,SEDA,线程池。

串起来,是一个很高效的系统。

 

0 请登录后投票
   发表时间:2010-09-20   最后修改:2010-09-20
kimmking 写道
框架初步具备了负载均衡和容错,可以路由到具体的重载方法。


前半句很惊艳,后半句很雷人。



是我没说清除,负载均衡目前就只是随机选择,容错是做了个简单的失败转移,自动恢复的功能。

路由到重载方法是,一般一些简单的rpc框架只是根据提供远程服务实例的Key路由到该实例,再根据调用的方法名称路由到某个具体的方法,如果有几个同名的重载方法,或者这些同名的重载方法的参数个数相同,类型又属于接口或子类的关系,框架就不知道调哪个方法了。

我想说的是这里做了特殊的处理,除了通过方法名路由外,又循环比较了参数类型,找到最合适的方法调用。
0 请登录后投票
   发表时间:2010-09-20  
javatracker 写道
kimmking 写道
框架初步具备了负载均衡和容错,可以路由到具体的重载方法。


前半句很惊艳,后半句很雷人。



是我没说清除,负载均衡目前就只是随机选择,容错是做了个简单的失败转移,自动恢复的功能。

路由到重载方法是,一般一些简单的rpc框架只是根据提供远程服务实例的Key路由到该实例,再根据调用的方法名称路由到某个具体的方法,如果有几个同名的重载方法,或者这些同名的重载方法的参数个数相同,类型又属于接口或子类的关系,框架就不知道调哪个方法了。

我想说的是这里做了特殊的处理,除了通过方法名路由外,又循环比较了参数类型,找到最合适的方法调用。

这叫支持重载方法的远程调用,不叫负载均衡。

负载均衡一般是说 我配置了n个服务器,上面都有同样的一个服务和方法,
然后可以配置一个规则,把请求转发给某个服务器来处理。

你实现的功能比较下参数列表即可。跟负载均衡没一点关系。
0 请登录后投票
   发表时间:2010-09-20  
kimmking 写道
javatracker 写道
kimmking 写道
框架初步具备了负载均衡和容错,可以路由到具体的重载方法。


前半句很惊艳,后半句很雷人。



是我没说清除,负载均衡目前就只是随机选择,容错是做了个简单的失败转移,自动恢复的功能。

路由到重载方法是,一般一些简单的rpc框架只是根据提供远程服务实例的Key路由到该实例,再根据调用的方法名称路由到某个具体的方法,如果有几个同名的重载方法,或者这些同名的重载方法的参数个数相同,类型又属于接口或子类的关系,框架就不知道调哪个方法了。

我想说的是这里做了特殊的处理,除了通过方法名路由外,又循环比较了参数类型,找到最合适的方法调用。

这叫支持重载方法的远程调用,不叫负载均衡。

负载均衡一般是说 我配置了n个服务器,上面都有同样的一个服务和方法,
然后可以配置一个规则,把请求转发给某个服务器来处理。

你实现的功能比较下参数列表即可。跟负载均衡没一点关系。


OK,看来我还是没说清除,“是我没说清除,负载均衡目前就只是随机选择,容错是做了个简单的失败转移,自动恢复的功能。”  这一句是对负载均衡和容错的解释,这一句后面的是对路由到重载方法的解释。这一句的再进一步解释是,目前支持服务端是一个集群,需要将IP和端口配置到客户端,客户端根据随机的选择服务端将请求发往服务端,如果某个服务端挂掉,则自动从随机列表中剔除,同时对这台机器进行心跳检测,如果检测到这台机器恢复则加回正常发送的随机检测列表供调用。如果在随机选到某台发送时挂掉,则将这台移到失败列表供心跳检测,同时再随机选择活着的服务端重发此请求。

目前需要在客户端配置ip和端口,后面做了集群功能后将不用配置IP和端口,客户端可以对服务端机器的情况进行自动感知。
0 请登录后投票
   发表时间:2010-09-20  
javatracker 写道
kimmking 写道
javatracker 写道
kimmking 写道
框架初步具备了负载均衡和容错,可以路由到具体的重载方法。


前半句很惊艳,后半句很雷人。



是我没说清除,负载均衡目前就只是随机选择,容错是做了个简单的失败转移,自动恢复的功能。

路由到重载方法是,一般一些简单的rpc框架只是根据提供远程服务实例的Key路由到该实例,再根据调用的方法名称路由到某个具体的方法,如果有几个同名的重载方法,或者这些同名的重载方法的参数个数相同,类型又属于接口或子类的关系,框架就不知道调哪个方法了。

我想说的是这里做了特殊的处理,除了通过方法名路由外,又循环比较了参数类型,找到最合适的方法调用。

这叫支持重载方法的远程调用,不叫负载均衡。

负载均衡一般是说 我配置了n个服务器,上面都有同样的一个服务和方法,
然后可以配置一个规则,把请求转发给某个服务器来处理。

你实现的功能比较下参数列表即可。跟负载均衡没一点关系。


OK,看来我还是没说清除,“是我没说清除,负载均衡目前就只是随机选择,容错是做了个简单的失败转移,自动恢复的功能。”  这一句是对负载均衡和容错的解释,这一句后面的是对路由到重载方法的解释。这一句的再进一步解释是,目前支持服务端是一个集群,需要将IP和端口配置到客户端,客户端根据随机的选择服务端将请求发往服务端,如果某个服务端挂掉,则自动从随机列表中剔除,同时对这台机器进行心跳检测,如果检测到这台机器恢复则加回正常发送的随机检测列表供调用。如果在随机选到某台发送时挂掉,则将这台移到失败列表供心跳检测,同时再随机选择活着的服务端重发此请求。

目前需要在客户端配置ip和端口,后面做了集群功能后将不用配置IP和端口,客户端可以对服务端机器的情况进行自动感知。

仿照Activemq的模式?

感觉还是服务器端做一个loadbalance合适,统一控制dispatch策略,heartbeat检测,和failover。
0 请登录后投票
   发表时间:2010-09-20  
javatracker 写道

仿照Activemq的模式?

感觉还是服务器端做一个loadbalance合适,统一控制dispatch策略,heartbeat检测,和failover。



没,参照了JBossRemoting和淘宝的,在客户端做的loadbalance。
在服务端做loadbalance的话,做loadbalance的这个服务端本身就是个单点。

0 请登录后投票
   发表时间:2010-09-20  
描述比较笼统,框架没看到
0 请登录后投票
   发表时间:2010-09-20  
darwintest 写道
描述比较笼统,框架没看到


这个是公司项目,后面和老大商量考虑开源。

后面会出一些系列帖子来讨论实现细节。
0 请登录后投票
   发表时间:2010-09-20  
kimmking 写道
javatracker 写道

仿照Activemq的模式?

感觉还是服务器端做一个loadbalance合适,统一控制dispatch策略,heartbeat检测,和failover。



没,参照了JBossRemoting和淘宝的,在客户端做的loadbalance。
在服务端做loadbalance的话,做loadbalance的这个服务端本身就是个单点。



LVS,TCP的四层交换技术?

0 请登录后投票
论坛首页 Java企业应用版

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