Spring Cloud面试题

1. Eureka和ZooKeeper都可以提供服务注册与发现的功能,请说说两个的区别

C:强一致性
A:高可用性
P:分区容错性
1.ZooKeeper保证的是CP,Eureka保证的是AP

ZooKeeper在选举期间注册服务瘫痪,虽然服务最终会恢复,但是选举期间不可用的
Eureka各个节点是平等关系,只要有一台Eureka就可以保证服务可用,而查询到的数据并不是最新的

Eureka的自我保护机制会导致
Eureka不再从注册列表移除因长时间没收到心跳而应该过期的服务
Eureka仍然能够接受新服务的注册和查询请求,但是不会被同步到其他节点(高可用)
当网络稳定时,当前实例新的注册信息会被同步到其他节点中(最终一致性)

Eureka可以很好的应对因网络故障导致部分节点失去联系的情况,而不会像ZooKeeper一样使得整个注册系统瘫痪

2.ZooKeeper有Leader和Follower角色,Eureka各个节点平等
3.ZooKeeper采用过半数存活原则,Eureka采用自我保护机制解决分区问题
4.Eureka本质上是一个工程,而ZooKeeper只是一个进程

2. 微服务之间是如何独立通讯的?

  1. 远程过程调用(Remote Procedure Invocation)
    也就是我们常说的服务的注册与发现
    直接通过远程过程调用来访问别的service。
    优点:
    简单,常见,因为没有中间件代理,系统更简单
    缺点:
    只支持请求/响应的模式,不支持别的,比如通知、请求/异步响应、发布/订阅、发布/异步响应
    降低了可用性,因为客户端和服务端在请求过程中必须都是可用的

  2. 消息
    使用异步消息来做服务间通信。服务间通过消息管道来交换消息,从而通信。
    优点:
    把客户端和服务端解耦,更松耦合
    提高可用性,因为消息中间件缓存了消息,直到消费者可以消费
    支持很多通信机制比如通知、请求/异步响应、发布/订阅、发布/异步响应
    缺点:
    消息中间件有额外的复杂性

3.SpringCloud集成分布式事务LCN (一)

添加链接描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值