O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

introduce to spring cloud

1.082 visualizações

Publicada em

스프링 클라우드에 대한 소개

Publicada em: Engenharia
  • Seja o primeiro a comentar

introduce to spring cloud

  1. 1. Introduce to Spring Cloud 2016.10.28 엄두성
  2. 2. 목차 1. Spring Cloud? a. Spring Cloud 소개 2. 더 들여다 보기 a. Cental Configuration b. Eureka c. Zuul d. Hystrix 3. Sample 4. QnA
  3. 3. Spring Cloud?
  4. 4. 1-1 Spring Cloud? 4 / 12
  5. 5. 1-2 • 분산된 시스템의 공통 패턴(Cloud Native)을 신속하게 구축할 수 있는 도구 제공 • 일종의 컴포넌트 연합 - Service registration and discovery (Netflix Eureka) - Central configuration (Spring Cloud Configuration Server) - Proxy / Dynamic Load balancer (Netflix Ribbon) - Circuit Breakers (Netflix Hystrix) - ETC • Cloud Native라는 개념을 다른 언어, 다른 컴포넌트로도 풀어낼 수 있다 Spring Cloud? 5 / 12
  6. 6. 더 들여다 보기
  7. 7. 2-1 주요 기능 구성들 • Central configuration (Spring Cloud Configuration Server) • Service registration and discovery (Netflix Eureka) • Proxy / Dynamic Load balancer (Netflix Zuul) • Circuit Breakers (Netflix Hystrix) 그 외 주요기능을 지원할 수 있는 필요 구성들 • OAuth 2.0 protected APIs • Monitoring (Zipkin) • Centralized Log Analysis (ELK) 더 들여다 보기 7 / 12
  8. 8. 2-2 Central configuration (Spring Cloud Configuration Server) 더 들여다 보기 8 / 12 서버1 시스템 환경변수 정보 서버2 시스템 환경변수 정보 서버3 시스템 환경변수 정보 소스 버전 관리 시스템
  9. 9. 2-3 Central configuration (Spring Cloud Configuration Server) • 환경변수를 제공해주는 Rest API 서버(필수)와 환경변수를 받는 클라이언트로 구성(옵션) • JSON 형식으로 제공 (어떤 서버에서도 사용가능) • 버전관리 저장소에 의해 지원되는 중앙 집중식 외부 구성 관리 더 들여다 보기 9 / 12
  10. 10. 2-4 Spring Cloud Netflix Project • 기존의 Netflix OSS를 Spring에서 쓰기 쉽게 Integration • 다양한 Netflix OSS 구성 요소  EUREKA  Hystrix  Zuul  ETC 더 들여다 보기 10 / 12
  11. 11. 2-5 Spring Cloud Netflix – Eureka (Service Discovery Server) • 어떤 서버가 어떤 정보를 가지고 동작하는지에 대한 내용을 실시간으로 서비스에 반영 • Eureka Server와 Eureka Discovery(Client)로 나뉨 더 들여다 보기 11 / 12
  12. 12. 2-6 Spring Cloud Netflix – Eureka (Service Discovery Server) 더 들여다 보기 12 / 12
  13. 13. 2-7 Spring Cloud Netflix – Eureka (Service Discovery Server) • Eureka를 통해 각 클라이언트의 정보 확인 더 들여다 보기 13 / 12
  14. 14. 2-8 Spring Cloud Netflix – Zuul (Proxy / Dynamic Load balancer ) • 인증 및 보안 • 모니터링 • 동적 라우팅 • 부하테스트 • 트래픽 드롭(정확히는 Shedding) 더 들여다 보기 14 / 12
  15. 15. 2-9 Spring Cloud Netflix – Zuul (Proxy / Dynamic Load balancer ) • Proxy 더 들여다 보기 15 / 12 B Service A Service 클라이언트 abc.cd:8080/hello abc.cd:8888/eureka B Service A Service 클라이언트 abc.cd:8080/hello abc.cd:8888/eureka Edge Server abc.cd:9999/hello abc.cd:9999/eureka
  16. 16. 2-10 Spring Cloud Netflix – Zuul (Proxy / Dynamic Load balancer ) • Dynamic Load balancer 더 들여다 보기 16 / 12 A Service A Service 클라이언트 Edge Server abc.cd:9999/hello/id abc.cd:9999/hello/id abc.cd:8000/hello/id abc.cd:9998/hello/id 첫번째 요청 첫번째 요청 두번째 요청 두번째 요청
  17. 17. 2-11 Spring Cloud Netflix – Zuul (Proxy / Dynamic Load balancer ) • Zipkin (monitoring) 더 들여다 보기
  18. 18. 2-12 Spring Cloud Netflix – Hystrix (Circuit Breaker) 더 들여다 보기 18 / 12
  19. 19. 2-13 Spring Cloud Netflix – Hystrix (Circuit Breaker) 더 들여다 보기 19 / 12 Supplier클라이언트 Circuit Breaker 연결 성공 Supplier클라이언트 Circuit Breaker abc.cd:8090/connect 연결 문제 발생 fallbackMethod 실행 abc.cd:8090/connectabc.cd:8080/connect abc.cd:8080/connect
  20. 20. 2-14 Spring Cloud Netflix – Hystrix (Circuit Breaker) 더 들여다 보기 20 / 12 Circuit Breaker – Supplier Connect Success Circuit Breaker – Supplier Connect Problem
  21. 21. Sample
  22. 22. 3-1 Sample 22 / 12 코드 저장소 Config Server Eureka Server Edge Server S Server S Server Service Server Client 밸런싱 요청 설정 설정 즉시 참조 커밋 등록 등록 전달전달 ① ② ③ ④
  23. 23. 감사합니다.

×