SpringCloud面试题, 你是怎么理解微服务的?
SpringCloud面试题, 你是怎么理解微服务的?
QA
Step 1
Q:: 微服务架构的优缺点是什么?
A:: 微服务架构的优点包括:1) 灵活性和可伸缩性更高,因为每个服务都是独立的,可以独立部署、扩展和维护;2) 增加了技术异构性,可以为不同的服务使用最合适的技术栈;3) 团队可以根据业务功能来划分,减少了团队之间的依赖,提高了开发效率。缺点包括:1) 运维复杂性增加,需要处理服务间通信、服务发现、负载均衡等问题;2) 数据一致性问题更为复杂,因为每个服务都有自己的数据库;3)
监控和调试困难,因为调用链更加复杂。
Step 2
Q:: 什么是Spring Cloud?它在微服务架构中扮演什么角色?
A:: Spring Cloud 是一套用于构建分布式系统的工具和框架。它为微服务架构提供了如配置管理、服务发现、负载均衡、熔断器、分布式追踪等常见的基础设施服务。在微服务架构中,Spring Cloud 通过其丰富的工具链,帮助开发者快速构建和管理微服务,实现服务间的高效通信和稳定运行。
Step 3
Q:: 什么是服务发现?Spring Cloud中如何实现服务发现?
A:: 服务发现是微服务架构中的一个关键概念,它允许服务自动注册并被其他服务发现。在Spring Cloud中,服务发现通常通过Eureka Server来实现。服务在启动时会自动注册到Eureka Server,其他服务可以通过Eureka Client查找到并调用这个服务。
Step 4
Q:: 什么是熔断器?Spring Cloud 如何实现熔断器模式?
A:: 熔断器是一种防止服务调用雪崩效应的机制。当下游服务发生故障或响应时间过长时,熔断器会自动短路,直接返回预定义的结果,避免更多的请求继续影响系统。Spring Cloud通过Hystrix(或Resilience4
j)来实现熔断器模式。Hystrix可以监控服务的调用情况,当失败率或响应时间超过阈值时,触发熔断机制。
Step 5
Q:: Spring Cloud Gateway和Zuul有什么区别?
A:: Spring Cloud Gateway 和 Zuul 都是API网关解决方案,但Spring Cloud Gateway是Zuul的升级版。Zuul基于Servlet,是一种阻塞式架构,而Spring Cloud Gateway基于Reactor,它是非阻塞的、基于响应式编程的架构,性能更高。Gateway在处理大规模并发请求时表现更佳,且提供了更现代化的特性,如路由的动态刷新、限流等。