面试题答案
一键面试- Eureka:服务注册与发现组件。主要功能是微服务实例启动时向Eureka Server注册自身信息,Eureka Server维护服务注册表,其他微服务通过Eureka Server发现可调用的服务实例,实现服务之间的解耦和动态发现。
- Ribbon:客户端负载均衡器。主要功能是在客户端从Eureka Server获取服务实例列表后,根据一定的负载均衡算法(如轮询、随机等),在多个服务实例间进行请求分发,提高系统的可用性和性能。
- Feign:声明式的Web服务客户端。主要功能是通过简单的注解方式来定义和调用HTTP API,将HTTP请求封装成Java接口调用,使得微服务间的调用更加简洁,同时集成了Ribbon实现负载均衡。
- Hystrix:容错处理组件。主要功能是通过熔断、降级等机制,防止因某个微服务故障而导致整个系统级联失败,提高系统的容错性和稳定性。当某个服务出现故障时,Hystrix可以快速切断对该服务的调用,并提供fallback逻辑返回兜底数据。
- Zuul:API网关。主要功能是作为微服务架构的统一入口,负责请求的路由、过滤等。它可以将外部请求转发到对应的微服务实例,并在转发过程中进行身份验证、参数校验、流量监控等操作,对微服务起到保护和管控作用。