当前位置: 首页 > 图灵资讯 > java面试题> 金三银四精选java面试题-说下微服务有哪些组件

金三银四精选java面试题-说下微服务有哪些组件

来源:图灵教育
时间:2023-12-08 10:21:59
 

说下微服务有哪些组件

微服务给系统开发带来了一些问题和挑战,如服务调用的复杂性、分布式事务的处理、服务的动态管理等。为了更好地解决这些问题和挑战,各种微服务治理的组件应运而生,充当微服务架构的基石和支撑。

微服务组件示意图

微服务的各个组件和常见实现:

  1. 注册中心:用于服务的注册与发现,管理微服务的地址信息。常见的实现包括:
    • Spring Cloud Netflix:Eureka、Consul
    • Spring Cloud Alibaba:Nacos
  1. 配置中心:用于集中管理微服务的配置信息,可以动态修改配置而不需要重启服务。常见的实现包括:
    • Spring Cloud Netflix:Spring Cloud Config
    • Spring Cloud Alibaba:Nacos Config
  1. 远程调用:用于在不同的微服务之间进行通信和协作。常见的实现包括:
    • RESTful API:如RestTemplate、Feign
    • RPC(远程过程调用):如Dubbo、gRPC
  1. API网关:作为微服务架构的入口,统一暴露服务,并提供路由、负载均衡、安全认证等功能。常见的实现包括:
    • Spring Cloud Netflix:Zuul
    • Spring Cloud Alibaba:Gateway、Apisix等
  1. 分布式事务:保证跨多个微服务调用的事务一致性。常见的实现包括:
    • Spring Cloud Alibaba:Seata
  1. 熔断器:用于防止微服务之间的故障扩散,提高系统的容错能力。常见的实现包括:
    • Spring Cloud Netflix:Hystrix
    • Spring Cloud Alibaba:Sentinel、Resilience4j
  1. 限流和降级:用于防止微服务过载,对请求进行限制和降级处理。常见的实现包括:
    • Spring Cloud Netflix:Hystrix
    • Spring Cloud Alibaba:Sentinel
  1. 分布式追踪和监控:用于跟踪和监控微服务的请求流程和性能指标。常见的实现包括:
    • Spring Cloud Netflix:Spring Cloud Sleuth + Zipkin
    • Spring Cloud Alibaba:SkyWalking、Sentinel Dashboard