当前位置:   article > 正文

SpringCloud面试题——Nacos

SpringCloud面试题——Nacos

一:什么是CAP理论,为什么不能同时满足?

CAP理论:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。一致性是指每次读取都会收到最新的写入数据或错误信息。

二:注册中心如何选型?

选择服务注册中心和配置中心需要考虑应用场景、功能需求、易用性和维护成本等因素,有以下几个原则供参考:

  1. 如果对一致性要求高,建议考虑支持CP模型的Consul、Nacos以及ZK
  2. 如果应用已经在使用Spring Cloud框架,则建议使用Eureka;
  3. 如果应用在用Dubbo/Spring Cloud Alibaba,或者需要一套更全面的云原生服务治理平台,则建议使用Nacos;
  4. 如果需要更强大的健康检查和路由功能,则建议使用Consul。虽然Nacos和Eureka都支持服务健康检查和路由功能,但是Consul在这方面的功能更为强大,比如Consul支持多种健康检查方式(TCP、HTTP、gRPC等)、支持自定义健康检查脚本,可以更精细地控制服务的健康状况。
  5. 当然,Zookeeper也是一款成熟的分布式协调服务框架,如果已经熟悉使用Zookeeper,也可以考虑使用Zookeeper作为服务注册中心和配置中心。

三:Nacos是AP的还是CP的?

Nacos支持AP和CP两种模式,可以根据具体的使用场景进行选择。默认情況下是AP模式,可以通过修改nacos的配置文件来切换AP/CP。在AP模式下,Nacos保证高可用性和可伸缩性,但不保证强一致性。在CP模式下,Nacos保证强一致性,但可能会降低可用性和可伸缩性。
在实际应用中,具体应该采用哪种模式,需要根据业务的特点和需求来判断。
如果在分布式系统中,某些数据的一致性对业务有非常高的要求,例如金融、支付等场景,那么目可以选择使用CP模式。
如果对于某些服务来说,可用性比一致性更加重要,例如网站、在线游戏等场景,那么可以选择使用AP模式。

四:Nacos能同时实现AP和CP的原理是什么?

Nacos在单个集群中同时支持AP和CP两种模式,之所以这么设计是因为Nacos目前主要用于注册中心和配置中心。对于注册中心来说,一旦可用性不能满足了,那么就会影响所有服务的互相调用。对于配置中心来说,他的主要职责就是提供统一的配置,一致性是他的一个重点考量
Nacos为了同时支持注册中心和配置中心,他通过JRaft协议实现了一个CP的模式,又通过Distro协议实现了一个AP的模式,可以在这两者模式之间进行切换。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/344377
推荐阅读
相关标签
  

闽ICP备14008679号