dubbo与cloud的区别

1.协议

dubbo是基于rpc协议,基于接口的远程调用;不能跨平台

Cloud是http协议的,restful风格的,可以实现跨平台调用

rpc协议是基于更底层的TCP协议,数据不需要通过http协议包装,实践性能更好。

2.使用方式

dubbo一般是xml配置的方式,cloud是boot基于注解的

3.注册发现

dubbo使用的是zookeeper,在分布式系统中,zookeeper更加关注一致性,和容错性;当zookeeper主节点挂掉会有一个30~120s的选举时间,期间服务是不可用的。

cloud的注册中心使用的是EureKa,更加关注的是可用性,和分区容错,多个eureka不存在单点问题;

4.容错原理

Eureka server默认情况下在一定时间内没有收到某个微服务实例的心跳,eureka会注销该实例(90s),但当网络发生分区故障时,微服务与Eureka无法正常通信,不应该注销。通过自我保护来解决这个问题.

Eureka自我保护模式

当Eureka Server节点在短时间内发生丢失过多的客户端(可能是网络分区故障),那么这个节点就会进入自我保护模式,一旦进入该模式,Eureka Server就会保护注册表中的信息,不再删除注册表中的数据,即不再注销任何微服务,当网络恢复后。eureka节点会自动退出自我保护模式。

zookeeper和dubbo默认建立的是临时节点   当多了一个服务端  zookeeper会心跳通知消费端  让消费端在本地缓存存储该地址,  其中有一个服务提供者下线也是同理 zookeeper会让通知dubbo消费端清除那个失效的缓存 ,消费端调用服务端是查找本地缓存的地址的。

服务提供者向注册中心注册服务,消费者从注册中心订阅所需要的服务,但不是所有的服务,当新的提供者出现或者现有的提供者宕机,注册中心都会尽早发现,并更新提供者的列表,推送给对应的消费者。有了这种机制,dubbo才能做到failover,而failover的时效性,由注册中心的实现决定

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值