您的位置:首页 > 其它

HSF和dubbo的区别

2017-11-06 18:11 176 查看
Dubbo:容易出错的地方:

对于dubbo框架在编码的过程中醉容易遗忘的:

就是服务的注册,大部分互联网公司用到的注册中心就是zookeeper;
<dubbo:service> dubbo:service> 
<dubbo:registry address=""/>  
timeout的时间设置
传参(对应的javavo类)必须实现序列化;即:implementsSerializable接口
Dubbo服务出现宕机,司机状态;不能注册新的服务;但是可以调用已经注册上的服务;因为dubbo有一个服务的缓存机制;已经注册上的服务都保存在缓存里
另外在以前的编码中经常遇到的dubbo调用的过程中容易出现服务的假死状态
由于dubbo已经开源,官网上讲述的很详细就不赘述啦

二.HSF 实现原理

1.提供服务的大致流程如下:

• server启动时候向configserver注册

• client启动时候向configserver请求list

• client缓存list,发现不可用的server,从缓存中remove

• configserver通过心跳包维护可用server的list

• list有更新的时候,configserver通过带version的报文通知client更新

二.HSF 优势

1:服务的自动注册、发现

通过注册中心,实现服务的注册/注销与服务的发现。当服务启动后,会调用publish来将服务发布到中心,而服务的消费者,通过调用订阅接口传入的监听器来更新服务提供者列表。HSF提供了三种注册中心实现,分别是ConfigServer,Zookeper,和配置文件模式
2:服务提供者与消费者之间长连接
3:HSF框架采用 Netty + Hession数据序列化协议实现服务交互,Netty + Hession的组合在互联网高并发量的场景下,特别是在TPS 上达到10w 以上时
4:HSF框架的容错机制,配置服务器是采用长连接的方式与服务节点进行网络通讯,一旦发现有服务提供者实例出现故障,配置服务器在秒级就会感知到,此时会将出问题这台服务提供者的信息从该服务的服务器列表中删除,并将更新后的服务器列表采用推送的方式同步给与该服务相关的所有服务调用者端,这样当下次服务调用者再进行此服务的调用时,就不会因为随机的方式再次对已经停止服务提供的服务器发起服务的调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: