>Java >Java인터뷰 질문들 >인터뷰 피드백 Spring Cloud의 25샷 시리즈

인터뷰 피드백 Spring Cloud의 25샷 시리즈

Java后端技术全栈
Java后端技术全栈앞으로
2023-08-24 15:57:321102검색


머리말

얼마전 특별한 사정으로 인터뷰가 연달아 중단됐는데요. 지난주에 어떤 노인이 인터뷰에 나갔다가 스프링클라우드에 대한 질문을 받았습니다. 그의 피드백을 바탕으로 오늘 우리는 SpringCloud 인터뷰 시리즈를 계속합니다.

나를 팔로우하는 모든 사람을 환영합니다.

Spring Cloud 핵심 지식 요약

다음은 Spring Cloud 핵심 구성 요소 관계 다이어그램입니다.

인터뷰 피드백 Spring Cloud의 25샷 시리즈


from 이 사진에서 실제로 많은 정보를 얻을 수 있으니, 차분히 감상해보시길 바랍니다.

다음은 Spring Cloud NetflixSpring Cloud Alibaba핵심 구성 요소를 요약한 것입니다.

인터뷰 피드백 Spring Cloud의 25샷 시리즈

더 이상 고민하지 말고 직접 Spring Cloud 시리즈를 시작해보세요.

연속총걷기

1. 스프링클라우드란?

Spring 클라우드 스트리밍 애플리케이션 스타터는 외부 시스템과의 통합을 제공하는 Spring Boot 기반의 Spring 통합 애플리케이션입니다. 제한된 데이터 처리를 수행하는 애플리케이션을 빠르게 구축하기 위한 단기 마이크로서비스 프레임워크인 Spring Cloud Task.

2. 마이크로서비스란 무엇인가요?

마이크로서비스 아키텍처는 단일 애플리케이션을 일련의 작은 서비스로 나누는 것을 옹호합니다. 각 서비스는 서비스 간에 서로 조정하고 협력하여 사용자에게 최고의 서비스를 제공합니다. 값. 서비스는 경량 통신 메커니즘을 사용하여 서로 통신합니다(일반적으로 HTTP 기반 RESTful API). 각 서비스는 특정 비즈니스를 중심으로 구축되며 프로덕션 환경, 프로덕션과 유사한 환경 등에 독립적으로 구축될 수 있습니다. 또한 특정 서비스의 경우 이를 구축하기 위해 비즈니스 상황에 따라 적절한 언어와 도구를 선택해야 합니다. , 다양한 언어를 사용하여 서비스를 작성할 수 있으며 다양한 데이터 저장소를 사용할 수 있습니다.

일반인의 용어로:

마이크로서비스는 단일 책임을 가진 독립적인 서비스 애플리케이션입니다. intellij idea 도구에는 maven을 사용하여 개발된 독립적인 모듈이 있습니다. 구체적으로는 단일 전문 비즈니스 로직을 처리하기 위해 springboot를 사용하여 개발된 작은 모듈입니다.

마이크로서비스는 서비스의 크기를 강조하고, 특정 지점에 초점을 맞추고, 구체적으로 특정 문제를 해결/해당 서비스 애플리케이션을 구현하는 것을 아이디어의 모듈이라고 볼 수 있습니다.

3. Spring Cloud의 장점은 무엇인가요

Spring Boot를 사용하여 분산 마이크로서비스를 개발할 때 다음과 같은 문제에 직면합니다

  • 분산 시스템과 관련된 복잡성 - 이 오버헤드에는 네트워크 문제, 대기 시간 오버헤드, 대역폭 문제, 보안 문제가 포함됩니다.
  • 서비스 검색 - 서비스 검색 도구는 클러스터의 프로세스와 서비스가 서로 찾고 통신하는 방법을 관리합니다. 여기에는 서비스 카탈로그, 해당 카탈로그에 서비스를 등록한 다음 해당 카탈로그에서 서비스를 찾아 연결할 수 있는 기능이 포함됩니다.
  • 중복성 - 분산 시스템의 중복성 문제입니다.
  • 로드 밸런싱 - 로드 밸런싱은 컴퓨터, 컴퓨터 클러스터, 네트워크 링크, 중앙 처리 장치 또는 디스크 드라이브와 같은 여러 컴퓨팅 리소스에 대한 작업 부하 분산을 개선합니다.
  • 성능-문제 다양한 운영 오버헤드로 인해 성능 문제가 발생합니다.
  • 배포 복잡성 - Devops 기술 요구 사항.

4. 마이크로서비스는 어떻게 독립적으로 통신하나요?

동기 통신: dobbo는 RPC 원격 프로시저 호출을 사용하고 springcloud는 REST 인터페이스 json 호출 등을 사용합니다.

비동기: 메시지 대기열(예: RabbitMqActiveMKafka 및 기타 메시지 대기열)

5. 서비스 차단기란? 서비스 다운그레이드란 무엇인가요?

회로 차단기 메커니즘은 눈사태 효과를 처리하기 위한 마이크로서비스 링크 보호 메커니즘입니다. 특정 마이크로서비스를 사용할 수 없거나 응답 시간이 너무 길면 서비스 성능이 저하되어 노드에서 마이크로서비스 호출이 중단되고 "오류" 응답 정보가 빠르게 반환됩니다. 노드의 마이크로서비스 호출 응답이 정상인 것으로 감지되면 호출 링크가 복원됩니다. Spring Cloud 프레임워크에서 회로 차단기 메커니즘은 Hystrix를 통해 구현됩니다. Hystrix는 실패한 호출이 특정 임계값에 도달하면 기본적으로 5초 내에 20번의 호출을 수행합니다. 활성화됩니다.

서비스 다운그레이드는 일반적으로 전체 부하를 기준으로 고려됩니다. 즉, 서비스 연결이 끊어지면 더 이상 서버가 호출되지 않습니다. 이때 클라이언트는 로컬 대체 콜백을 준비하고 기본값을 반환할 수 있습니다. 이렇게 하면 레벨이 낮아지더라도 계속 사용할 수 있으니 직접 죽는 것보다는 낫습니다.

Hystrix相关注解@EnableHystrix:开启熔断 @HystrixCommand(fallbackMethod=”XXX”),声明一个失败回滚处理函数XXX,当被注解的方法执行超时(默认是1000毫秒),就会执行fallback함수는 오류 메시지를 반환합니다.

6. 유레카와 사육사의 차이점을 알려주세요.

Zookeeper는 CP를 보장하고 Eureka는 AP를 보장합니다.

A: 고가용성

C: 일관성

P: 파티션 내결함성

1. 등록 센터에 서비스 목록을 쿼리할 때 등록 센터가 몇 분 전부터 정보를 반환하는 것은 용납할 수 있지만 직접 다운을 허용할 수 없으며 사용할 수 없습니다. 즉, 서비스 등록 기능은 상대적으로 고가용성에 대한 요구 사항이 높지만 ZooKeeper에서는 네트워크 장애로 인해 마스터 노드가 다른 노드와의 연결이 끊어지면 나머지 노드가 리더를 다시 선출하는 상황이 발생합니다. 문제는 리더 선택 시간이 30~120초로 너무 길고, 선택 기간 동안 zk 클러스터를 사용할 수 없어 선택 기간 동안 등록 서비스가 마비되는 현상이 발생한다는 점이다. 클라우드 배포 환경에서는 네트워크 문제로 인해 zk 클러스터가 마스터 노드를 잃을 가능성이 높습니다. 서비스는 복원될 수 있지만 긴 선택 시간으로 인해 장기간 등록이 불가능해지는 것은 용납할 수 없습니다.

2. Eureka는 가용성을 보장합니다. 여러 노드의 장애가 발생하더라도 나머지 노드는 계속해서 등록 및 쿼리 서비스를 제공할 수 있습니다. 유레카 클라이언트가 특정 유레카를 등록하거나 발견할 때 연결 실패가 발생하면 자동으로 다른 노드로 전환됩니다. 하나의 유레카가 남아 있는 한 등록 서비스는 보장될 수 있지만 발견된 정보는 제공되지 않을 수 있습니다. 최신. 또한 Eureka에는 자체 보호 메커니즘도 있습니다. 15분 이내에 노드의 85% 이상이 정상적인 하트비트를 가지지 않으면 Eureka는 이때 클라이언트와 등록 센터 사이에 네트워크 오류가 발생한 것으로 간주합니다. , 다음 상황이 발생합니다:

①. Eureka는 오랫동안 하트비트를 받지 못해 만료되어야 하는 서비스를 등록 목록에서 더 이상 제거하지 않습니다.

②. Eureka는 새로운 서비스에 대한 등록 및 쿼리 요청을 계속 수락할 수 있지만 다른 노드와 동기화되지는 않습니다(즉, 현재 노드를 계속 사용할 수 있는지 확인)

③ 네트워크가 안정되면 현재 인스턴스의 새로운 등록 정보가 다른 노드에 동기화됩니다.

그러므로 Eureka는 Zookeeper

7와 같은 마이크로서비스 전체를 마비시키지 않으면서 네트워크 장애로 인해 일부 노드의 연결이 끊어지는 상황에도 잘 대처할 수 있습니다.

SpringBoot는 개별 마이크로서비스를 빠르고 쉽게 개발하는 데 중점을 둡니다.

SpringCloud는 전반적인 상황에 초점을 맞춘 마이크로서비스 조정 및 거버넌스 프레임워크입니다.

각 마이크로서비스에 대한 구성 관리, 서비스 검색, 회로 차단기, 라우팅을 제공합니다. 이벤트 버스, 글로벌 잠금, 의사 결정 선택, 분산 세션 및 기타 통합 서비스

SpringBoot는 개발 프로젝트에서 SpringCloud 없이 독립적으로 사용할 수 있지만 SpringCloud는 SpringBoot와 분리될 수 없으며 종속 관계입니다.

SpringBoot는 빠르고 편리한 개발에 중점을 둡니다. 개별 마이크로서비스인 SpringCloud는 글로벌 서비스 거버넌스 프레임워크에 중점을 둡니다.

8. 로드 밸런싱의 의미는 무엇인가요?

컴퓨팅에서 로드 밸런싱은 컴퓨터, 컴퓨터 클러스터, 네트워크 링크, 중앙 처리 장치 또는 디스크 드라이브와 같은 여러 컴퓨팅 리소스 전반에 걸쳐 작업 부하 분산을 개선합니다. 로드 밸런싱은 리소스 사용 최적화, 처리량 최대화, 응답 시간 최소화 및 단일 리소스 과부하 방지를 목표로 합니다. 로드 밸런싱을 위해 단일 구성 요소가 아닌 여러 구성 요소를 사용하면 중복성을 통해 안정성과 가용성이 향상될 수 있습니다. 로드 균형 조정에는 일반적으로 다층 스위치나 도메인 이름 시스템 서버 프로세스와 같은 특수 소프트웨어나 하드웨어가 포함됩니다.

9. 히스트릭스란? 내결함성을 어떻게 달성합니까?

Hystrix는 액세스 포인트를 원격 시스템, 서비스 및 타사 라이브러리에 격리하고, 오류가 불가피할 때 연쇄 오류를 중지하고 복잡한 분산 시스템 탄력성을 구현하도록 설계된 대기 시간 및 내결함성 라이브러리입니다.

일반적으로 마이크로서비스 아키텍처를 사용하여 개발된 시스템의 경우 많은 마이크로서비스가 관련됩니다. 이러한 마이크로서비스는 서로 협력합니다.

다음 마이크로서비스에 대해 생각해 보세요.

인터뷰 피드백 Spring Cloud의 25샷 시리즈

위 그림의 마이크로서비스 9가 실패하면 전통적인 방법을 사용하여 예외를 전파한다고 가정해 보세요. 그러나 이로 인해 여전히 전체 시스템이 충돌하게 됩니다.

마이크로서비스 수가 증가함에 따라 이 문제는 더욱 복잡해집니다. 마이크로서비스의 수는 최대 1000개까지 가능합니다. 여기서 hystrix가 등장합니다. 이 경우 Hystrix의 Fallback 방식 기능을 사용하겠습니다. 직원-소비자가 제공하는 서비스를 사용하는 직원-소비자라는 두 가지 서비스가 있습니다.

간단한 다이어그램은 아래와 같습니다

인터뷰 피드백 Spring Cloud의 25샷 시리즈

이제 어떤 이유로든 직원 생산자가 노출한 서비스에서 예외가 발생했다고 가정해 보겠습니다. 이 경우 Hystrix를 사용하여 대체 방법을 정의했습니다. 이 대체 메소드는 공개 서비스와 동일한 반환 유형을 가져야 합니다. 노출된 서비스에서 예외가 발생하면 fallback 메서드는 일부 값을 반환합니다.

10. 하이스트릭스 차단기란? 그것이 필요합니까?

어떤 이유로 직원-소비자 공공 서비스에서 예외가 발생합니다. 이 경우 Hystrix를 사용하여 대체 방법을 정의합니다. 노출된 서비스에서 예외가 발생하면 fallback 메서드는 일부 기본값을 반환합니다.

인터뷰 피드백 Spring Cloud의 25샷 시리즈


firstPage 메서드()에서 예외가 계속 발생하면 Hystrix 회로가 중단되고 직원 소비자는 firtsPage 메서드를 모두 건너뛰고 fallback 메서드를 직접 호출하게 됩니다. 회로 차단기의 목적은 첫 번째 페이지 메서드 또는 첫 번째 페이지 메서드가 호출하여 예외 복구를 발생시킬 수 있는 다른 메서드에 시간을 허용하는 것입니다. 발생할 수 있는 상황은 부하가 적을 때 예외를 발생시킨 문제가 복구될 가능성이 더 높다는 것입니다.

인터뷰 피드백 Spring Cloud의 25샷 시리즈


11. RPC의 구현 원리에 대해 이야기해보자

먼저 네트워크 연결 통신을 처리하는 모듈이 있는데, 연결 설정, 관리, 메시지를 담당한다. 전염. 둘째, 네트워크 통신은 모두 바이트코드로 전송되고 우리가 사용하는 객체는 직렬화 및 역직렬화되어야 하기 때문에 코딩 및 디코딩 모듈이 필요합니다. 나머지는 클라이언트와 서버 부분입니다. 서버는 서비스 인터페이스를 공개합니다. 클라이언트는 서비스 인터페이스의 프록시 구현을 호출합니다. 이 프록시 구현은 데이터를 수집하고 이를 서버에 전송한 후 대기합니다. 반환될 결과.

12. 유레카의 자체 보호 메커니즘은 무엇인가요?

유레카 서버 노드가 짧은 시간 내에 너무 많은 인스턴스에 대한 연결이 끊어지는 경우(예: 네트워크 장애 또는 클라이언트의 잦은 시작 및 종료) 노드는 자체 보호 모드에 들어가 등록 정보를 보호하고 더 이상 등록 데이터를 삭제하지 않으며 오류 복구가 발생하면 자동으로 자체 보호 모드를 종료합니다.

13.리본이란?

ribbon은 http 및 tcp의 일부 동작을 잘 제어할 수 있는 로드 밸런싱 클라이언트입니다. feign은 기본적으로 리본을 통합합니다. feign默认集成了ribbon

14,什么是 Netflix Feign?它的优点是什么?

Feign 是受到 Retrofit,JAXRS-2.0 和 WebSocket 启发的 java 客户端联编程序。

Feign 的第一个目标是将约束分母的复杂性统一到 http apis,而不考虑其稳定性。

特点:

  • Feign 采用的是基于接口的注解
  • Feign 整合了ribbon,具有负载均衡的能力
  • 整合了Hystrix,具有熔断的能力

使用方式

  • 添加pom依赖。
  • 启动类添加@EnableFeignClients
  • 定义一个接口@FeignClient(name=“xxx”)
14, 넷플릭스 페그란 무엇인가요? 장점은 무엇입니까?

Feign은 Retrofit, JAXRS-2.0 및 WebSocket에서 영감을 받은 Java 클라이언트 바인더입니다.

Feign의 첫 번째 목표는 안정성에 관계없이 제약 조건 분모의 복잡성을 http api에 통합하는 것입니다.

기능: 🎜
  • Feign은 인터페이스 기반 주석을 사용합니다🎜🎜
  • Feign은 리본을 통합하고 로드 밸런싱 기능을 갖추고 있습니다🎜🎜
  • Hystrix가 통합되어 있으며 융합 기능이 있습니다🎜🎜🎜🎜방법 사용 🎜
    • pom 종속성을 추가합니다. 🎜🎜
    • 시작 클래스 추가@EnableFeignClients🎜🎜
    • 인터페이스 정의@FeignClient(name="xxx")호출할 서비스 지정 🎜🎜🎜🎜🎜🎜15. 리본과 리본의 차이점은 무엇인가요? 그리고 가짜? 🎜🎜🎜🎜1. 리본은 다른 서비스를 호출하지만 방법은 다릅니다. 2. 시작 클래스 주석이 다릅니다. 리본은 @RibbonClient이고 feign은 @EnableFeignClients입니다. 3. 지정된 서비스 위치가 다릅니다. 리본은 @RibbonClient 주석에 선언되어 있는 반면, Feign은 추상 메소드를 정의하는 인터페이스에서 @FeignClient를 사용하여 선언됩니다. 4. 호출 방법이 다릅니다. 리본은 자체적으로 http 요청을 구성하고 http 요청을 시뮬레이션해야 합니다. 🎜

      16. Spring Cloud의 핵심 구성요소는 무엇인가요?

      • Eureka: Discovery에 등록된 서비스입니다.
      • Feign: 동적 프록시 메커니즘을 기반으로 주석과 선택한 시스템을 기반으로 요청 URL 주소가 연결되고 요청이 시작됩니다.
      • Ribbon: 로드 밸런싱을 구현하고 서비스를 위해 여러 머신 중에서 하나를 선택합니다.
      • Hystrix: 스레드 풀을 제공합니다. 서로 다른 서비스는 서로 다른 스레드 풀을 사용하므로 서로 다른 서비스 호출을 격리하고 서비스 폭증 문제를 방지합니다.
      • Zuul: 게이트웨이 관리, Zuul 게이트웨이는 요청을 해당 서비스로 전달합니다.

      17. Spring Boot와 Spring Cloud의 관계에 대해 이야기해 보겠습니다.

      Spring Boot는 중복된 기존 프레임워크 구성 파일과 복잡한 어셈블리 구성 요소 문제를 해결하기 위해 Spring에서 출시한 Maven 기반 솔루션입니다. 단일 마이크로서비스를 빠르게 구축하기 위해 Spring Cloud는 다양한 마이크로서비스 간의 조정 및 구성, 서비스 간 통신, 회로 차단기, 로드 밸런싱 등을 해결하는 데 중점을 둡니다. 기술적 차원이 같지 않고 Spring Cloud는 Spring Boot에 의존하지만 Spring Boot는 Spring Cloud에 의존하지 않고 Dubbo와 함께 뛰어난 통합 개발도 수행할 수 있습니다

      Summary

      • SpringBoot는 빠르고 편리한 개발에 중점을 두고 있습니다. 단일 개별 마이크로서비스
      • SpringCloud는 전반적인 상황에 초점을 맞추고 다양한 마이크로서비스를 통합 및 관리하며 구성 관리, 서비스 검색, 회로 차단기, 라우팅, 이벤트 버스 등 각 마이크로서비스 간의 통합을 제공하는 마이크로서비스 조정 및 거버넌스 프레임워크입니다. Service
      • Spring Boot는 Spring Cloud에 의존하지 않습니다. Spring Cloud는 종속 관계인 Spring Boot에 의존합니다.
      • Spring Boot는 개별 마이크로서비스의 빠르고 편리한 개발에 중점을 두고 있으며, Spring Cloud는 이에 중점을 두고 있습니다. 글로벌 서비스 거버넌스 프레임워크

      18. 마이크로서비스는 어떻게 독립적으로 통신합니까?

      원격 프로시저 호출(Remote Procedure Invocation)

      은 우리가 흔히 서비스 등록 및 검색이라고 부르는 것인데, 원격 프로시저 호출을 통해 직접 다른 서비스에 액세스할 수 있습니다.

      장점: 단순하고 일반적이며 미들웨어 프록시가 없기 때문에 시스템이 더 간단합니다.

      단점: 요청/응답 모드만 지원하고 알림, 요청/비동기 응답, 기타 모드는 지원하지 않습니다. 게시/구독, 게시/비동기 응답은 요청 중에 클라이언트와 서버를 모두 사용할 수 있어야 하므로 가용성을 줄입니다.

      Messages

      서비스 간 통신에 비동기 메시지를 사용하세요. 서비스는 메시지 파이프를 통해 메시지를 교환하여 통신합니다.

      장점: 메시지 미들웨어는 소비자가 메시지를 사용할 수 있을 때까지 메시지를 캐시하고 알림, 요청/비동기 응답, 릴리스/구독과 같은 다양한 통신 메커니즘을 지원하므로 클라이언트와 서버를 분리하고 결합을 느슨하게 하며 사용성을 향상시킵니다. , 게시/비동기 응답.

      단점: 메시지 미들웨어는 더욱 복잡합니다.

      19. Spring Cloud는 서비스 등록을 어떻게 구현하나요?

      서비스가 출시되면 해당 서비스 이름을 지정하고 등록 센터에 서비스를 등록합니다(유레카, Zookeeper). Eureka 、Zookeeper)

      注册中心加@EnableEurekaServer,服务用@EnableDiscoveryClient

      등록 센터 플러스@EnableEurekaServer, service @EnableDiscoveryClient, 그런 다음 리본 또는 가장을 사용합니다. 직접 서비스 호출 검색을 수행합니다.

      이 질문은 면접 질문을 외웠는지에 따라 더 실용적입니다.

      20. 서비스 차단기란?

      복잡한 분산 시스템에서는 마이크로 서비스 간 상호 호출로 인해 다양한 이유로 서비스 차단이 발생할 수 있습니다. 동시성이 높은 시나리오에서 서비스 차단은 스레드 차단을 의미하므로 현재 스레드를 사용할 수 없게 되고 모든 서버 스레드가 차단됩니다. 서비스 간 호출 관계가 동기식이므로 전체 마이크로서비스 시스템에 서비스 사태가 발생합니다

      특정 마이크로서비스의 호출 응답 시간이 너무 길거나 시스템이 불안정해지는 문제를 해결하려면 사용할 수 없으며 점점 더 많은 시스템 리소스를 차지하므로 눈사태 효과가 발생하고 서비스 중단 및 서비스 저하가 필요합니다.

      소위 서비스 회로 차단기는 특정 서비스 장애 또는 이상을 의미하며, 이는 디스플레이 세계의 "퓨즈"와 유사합니다. 비정상적인 상황이 발생하면 서비스 전체가 끊어질 때까지 기다리지 않고 직접 끊어집니다. 서비스 시간이 초과되었습니다.

      서비스 퓨즈는 당사 전기 스위치의 퓨즈와 같습니다. 서비스 눈사태가 발생하면 자체 스레드 풀을 유지하여 스레드가 임계값에 도달하면 서비스 저하가 시작됩니다. 다른 요청은 계속해서 액세스하게 되며, fallback 기본값을 반환합니다🎜

      21. 유레카의 자기보호 메커니즘을 이해하시나요?

      유레카 서버 노드가 짧은 시간 내에 너무 많은 인스턴스에 대한 연결이 끊어지면(예: 네트워크 장애 또는 클라이언트의 잦은 시작 및 종료 등) 등록 정보를 보호하기 위해 노드가 자체 보호 모드로 전환되며 더 이상 삭제되지 않습니다. 데이터를 등록하고 오류를 복구하면 자동으로 자체 보호 모드가 종료됩니다.

      22. Spring Cloud Bus에 대해 잘 알고 계시나요?

      spring cloud 버스는 분산 노드를 경량 메시지 브로커로 연결하거나 구성 파일 변경을 직접 전달하는 데에도 사용할 수 있습니다. 모니터링. 구성 파일이 수정되고 요청이 전송되면 모든 클라이언트는 구성 파일을 다시 읽습니다.

      23. Spring Cloud 서킷 브레이커의 기능은 무엇인가요?

      서비스가 다른 서비스를 호출할 때 네트워크 문제나 자체적인 문제로 인해 호출자는 호출 수신자의 응답을 기다립니다. 더 많은 서비스 이러한 리소스를 요청하면 더 많은 요청이 대기하게 되어 연쇄 효과(눈사태 효과)가 발생합니다. 일정 시간 내에 일정 횟수 호출할 수 없고, 다중 모니터링 후에도 복구의 징후가 없는 경우에는 회로 차단기가 완전히 개방되어 다음 번에는 서비스를 요청하지 않습니다.

      반개방 : 짧은 시간 안에 회복의 조짐이 보입니다. 정상적으로 호출되면 회로 차단기가 서비스에 일부 요청을 보냅니다. Closed : 서비스가 항상 정상상태에 있어 정상적으로 호출이 가능한 상태.

      24. Spring Cloud Config를 아시나요?

      분산 시스템에서는 수많은 서비스로 인해 서비스 구성 파일의 통합 관리와 실시간 업데이트를 용이하게 하기 위해 분산 구성 센터를 운영하고 있습니다. 구성요소가 필요합니다. Spring Cloud에는 분산 구성 센터 구성 요소봄 구름 구성 서비스의 메모리(즉, 로컬)에 배치되는 구성 서비스를 지원하고 원격 Git 저장소에 배치되는 것도 지원하는 Config. Spring Cloud Config,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。

      Spring Cloud Config

      InSpring Cloud Config 구성 요소, 거기 두 가지 역할이 있습니다. 하나는 구성 서버이고 다른 하나는 구성 클라이언트입니다.

      사용 방법: 🎜
      • pom 종속성 추가
      • 구성 파일에 관련 구성 추가
      • 시작 클래스에 @EnableConfigServer 주석 추가

      Spring에 대한 이해에 대해 이야기해 주세요. Cloud Gateway는 Spring Cloud가 공식적으로 출시한 2세대 게이트웨이 프레임워크로 Zuul 게이트웨이를 대체합니다. 트래픽 컨트롤러로서 게이트웨이는 마이크로서비스 시스템에서 매우 중요한 역할을 합니다. 게이트웨이의 일반적인 기능에는 라우팅 및 전달, 권한 확인, 전류 제한 제어가 포함됩니다. RouteLocatorBuilder 빈은 경로를 생성하는 데 사용되며 RouteLocatorBuilder를 사용하면 이름에서 알 수 있듯이 특정 요청 규칙에 따라 특정 경로에 의해 처리된다는 의미입니다. 필터는 요청에 대한 다양한 판단과 수정을 수행하는 데 사용되는 각각의 필터입니다.

      참고자료; http://1pgqu.cn/M0NZo

      Summary

      Spring Cloud는 현재 꽤 인기가 많으며 거의 ​​Java 개발자에게 필요한 기술 중 하나입니다. 면접 중에 이런 질문을 받는 것은 흔한 일입니다. 오랫동안 사용해 왔지만 원칙을 이해하지 못한 채 면접에 실패하는 사람들이 많을 것입니다. 시험 문제를 암기하는 것은 여전히 ​​큰 수준에서 매우 유용합니다. 하지만 장기적인 관점에서 보면 모두가 더 깊은 수준에서 배우고 실천하기를 바랍니다. 당신이 그것을 정말로 마스터해야만 그것을 NB라고 부를 수 있습니다.

위 내용은 인터뷰 피드백 Spring Cloud의 25샷 시리즈의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 Java后端技术全栈에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제