728x90 SpringCloud20 [Spring Cloud Bus] spring-cloud-config-monitor 이용시 설정 갱신 정보가 전달되지 않을때 이전글 참조 AWS 기반 Spring Cloud Config + Cloud Bus Kafka + Config Monitor 구성 https://freedeveloper.tistory.com/463 AWS 기반 Spring Cloud Config + Cloud Bus Kafka + Config Monitor 구성 Spring Cloud Config Monitor 와 Spring Cloud Bus, Kafka 를 이용한 설정 변경내용 적용 아키텍쳐 Git Repository 에 별도로 구성되어있는 설정파일을 변경하면 Hook을 통해 Spring Cloud Config 의 /monitor End.. freedeveloper.tistory.com spring-cloud-config-server 설정시 sprin.. SpringCloud 2021. 8. 11. [Spring Cloud로 개발하는 마이크로서비스 애플리케이션] 2. Spring Cloud란? Spring Cloud란? https://spring.io/projects/spring-cloud Spring Cloud 란 Microservices 의 개발, 빌드, 배포, 운영에 필요한 아키텍처를 쉽게 구성할 수 있게 도와주는 Spring Boot 기반 프레임워크 이다 Spring Cloud 현제 최신 버전 (2020.0.x aka Ilford) 2020.0.x aka Ilford 에서 지원되는 서비스 Spring Cloud Cloudfoundry Spring Cloud Config 분산 시스템에서 외부화된 구성을 위한 서버 및 클라이언트 측 지원을 제공 Spring Cloud Contract 사용자가 소비자 주도 계약 접근 방식을 성공적으로 구현하는 데 도움이 되는 솔루션을 보유한 포괄적인 프로젝트.. SpringCloud 2021. 8. 1. [Spring Cloud로 개발하는 마이크로서비스 애플리케이션] 1. Microservice 소개 Microservice 소개 0. Software Architecture Antifragile Auto scaling 리소스 사용량이나 조건에 따라 인스턴스나 리소스를 자동으로 확장/축소할 수 있는 개념 Microservices 전체 서비스를 구축하고 있는 개별적인 모듈이나 기능을 독립적으로 개발하고 배포하고 운영할 수 있도록 세분화된 서비스 Chaos engineering 변동, 예견된 불확실성, 예견되지 않는 불확실성, 카오스 불확실성에서도 안정적인 서비스를 유지 Continuous deployments 지속적인 통합과 지속적인 배포환경 구성 1. Cloud Native Architecture 확장 가능한 아키텍처 시스템의 수평적 확정에 유연 확장된 서버로 시스템의 부하 분산, 가용성 보장 시스템 또.. SpringCloud 2021. 8. 1. AWS 기반 Spring Cloud Config + Cloud Bus Kafka + Config Monitor 구성 Spring Cloud Config Monitor 와 Spring Cloud Bus, Kafka 를 이용한 설정 변경내용 적용 아키텍쳐 Git Repository 에 별도로 구성되어있는 설정파일을 변경하면 Hook을 통해 Spring Cloud Config 의 /monitor EndPoint 를 호출 Spring Cloud Bus Kafka 가 Kafka 를 통해 Spring Cloud Config Client 들에게 refresh 메세지를 전송하여 변경된 설정사항이 적용되게 한다 Spring Cloud Config Architecher 1) Config Server 도메인 생성 및 ALB 호스트 헤더 기반 규칙 추가 ALB 호스트 헤더 기반 규칙 추가하는 방법은 링크 참조 https://freedeve.. SpringCloud 2021. 7. 23. [11번가 Spring Cloud 기반 MSA로의 전환] 7. Appendix Appendix youtu.be/J-VP0WFEQsY?t=4023 Hystrix - Circuit Breaker Hystrix Circuit Breaker 란 Command 내부에서 실행된 사용자 코드(메소드)에서 발생한 Exception의 횟수의 통계를 집계 일정 시간 동안 일정 개수 이상의 호출이 발생한 경우, 일정 비율 이상의 에러가 발생하면 Circuit Open Circuit이 Open된 동안은 메서드를 호출하여도 실행하지 않고 막바로 Exception 발생(Fast Fail) 일정 시간 경과 후에 단 한개의 요청에 대해서 호출을 허용하며(Half Open), 이 호출이 성공하면 Circuit Close API Routing in Zuul Eureka + Ribbon 기반으로 API 서버를 찾아.. SpringCloud 2021. 2. 8. [11번가 Spring Cloud 기반 MSA로의 전환] 6. 모니터링 모니터링 youtu.be/J-VP0WFEQsY?t=2933 기존 모니터링 시스템으로는 5%가 부족해! MSA 환경에서의 흔한 API 호출 API 호출에 지연/문제가 생긴 경우 어떤 서버가 문제의 원인을 제공했는가를 찾는 어려움 분산 Tracing의 필요 서버간 Trace 정보의 전달 서버간의 Trace 정보의 전달은 사용 Protocol의 헤더를 통해 전달 가능 ex) HTTP Header 서버 내의 Trace 정보의 전달 Thread Local 등을 사용하여 Trace 정보를 전달 요즘 Java 서버 내의 Trace 정보의 전달 문제 다양한 Library에 의한 Thread 변경으로 인한 Trace 정보의 전달이 어려움 Hystrix, RxJava, @Async ... Spring Cloud Sleut.. SpringCloud 2021. 2. 8. [11번가 Spring Cloud 기반 MSA로의 전환] 5. 11번가 MSA 환경 구성 11번가 MSA 환경 구성 youtu.be/J-VP0WFEQsY?t=2717 11st with Spring cloud 모든 MSA Platform내의 서버는 Eureka Client를 탑재 API Server들간의 호출도 Spring Cloud Feign을 통해 Hystrix + Ribbon + Eureka 조합으로 호출 모든 MSA Platform 내의 서버는 Spring Cloud Config Client를 탑재 MSA 운영 환경을 위한 전용 모니터링 도구들 Zipkin, Turbine, Spring Boot Admin Spring Cloud Config Git 기반의 Config 관리 플랫폼 내의 모든 Server들은 Config Client를 탑재 서버 시작시 Config 서버가 제공하는 Conf.. SpringCloud 2021. 2. 8. [11번가 Spring Cloud 기반 MSA로의 전환] 4. 장애 시나리오 장애 시나리오 youtu.be/J-VP0WFEQsY?t=2443 Hystrix, Eureka, Ribbon을 사용한 우리 System은 어느정도 Resilient 한거야? 특징 API 서버 한대가 Down 된다면? 흔한 장애 Case 가장 먼저 즉시 대응하는 것은 Ribbon Client Ribbon Client에는 Retry 기능이 탑재 Netflix Ribbon에는 자체 구현 Spring Cloud에서는 Camden.SR7부터 Spring Retry기반으로 대체 : ribbon: MaxAutoRetries: 0 MaxAutoRetriesNextServer: 2 retryableStatusCodes: 503 Spring Retry는 Optional Dependency로 직접 Dependency를 명시할.. SpringCloud 2021. 2. 8. [11번가 Spring Cloud 기반 MSA로의 전환] 3. Hystrix, Ribbon, Eureka 적용 in 11st Hystrix, Ribbon, Eureka 적용 in 11st youtu.be/J-VP0WFEQsY?t=1815 API Gateway MSA 환경에서 API Gateway의 필요성 Single Endpoint 제공 API를 사용할 Client들은 API Gateway 주소만 인지 API의 공통 로직 구현 Logging, Authentication, Authorization Traffic Control API Quota, Throttling 자체 개발 Vs Zuul SK planet은 자체 개발 API Gateway를 상용 운영 중 11번가를 제외한 서비스의 Open API 제공 Node.js / Koa Framework 기반 100% 자체 개발 from Scratch Logging, Authorizati.. SpringCloud 2021. 2. 8. [11번가 Spring Cloud 기반 MSA로의 전환] 2. Deep Dive into Hystrix, Ribbon, Eureka Deep Dive into Hystrix, Ribbon, Eureka youtu.be/J-VP0WFEQsY?t=504 Hystrix Netflix가 만든 Fault Tolerance Library 장애 전파 방지 & Resilience 기능적 관점에서 본 Hystrix의 주요 4가지 기능 Circuit Breaker Fallback Thread Isolation Timeout Hystrix 적용하기 Hystrix Annotation 사용 Hystrix Javanica, Spring Cloud Netflix에 포함되어 있음 @HystrixCommand public String anyMethodWithExternalDependency() { // REST API로 다른 서버 호출 } HystrixComman.. SpringCloud 2021. 2. 8. [11번가 Spring Cloud 기반 MSA로의 전환] 1. 왜 MSA 를 도입하는지 어떻게 MSA를 도입할 것인지? 11번가 Spring Cloud 기반 MSA로의 전환 - 지난 1년간의 이야기 youtu.be/J-VP0WFEQsY Why MSA in 11st? 2016년말 11번가는... 초대형 거대 Monolithic System 8년넘게 사용해 온 낙후된 S/W Stack 너무나 커진 200만 라인의 공통 모듈 폭증하는 트래픽으로 수년내에 감당하기 힘들것으로 예상되는 부하 이로 인해... 많은 개발팀의 코드를 한번에 배포 매주 목요일 밤샘 정기 배포, 잦은 장애 개발자들이 새로운 기술을 접해 볼 기회 원천 봉쇄 JAVA 1.6, Spring 2.x or 외주 개발 Framework IDE에 띄우는 것 조차 버거운 개발 환경 200만 라인의 공통 코드로 인해 항상 메모리 부족 나의 과감한 수정은 전사 장애다! 어떻.. SpringCloud 2021. 2. 8. [Spring Cloud 를 활용한 MSA 기초] 9. Configuration Server, Tracing.Monitaring, 그리고 남은 이야기 9. Configuration Server, Tracing.Monitaring, 그리고 남은 이야기 youtu.be/6g1wH97BiuQ?list=PL9mhQYIlKEhdtYdxxZ6hZeb0va2Gm17A5&t=1520 Spring Cloud Config 중앙화 된 설정 서버 출처: https://mromeh.com/2017/12/04/spring-boot-with-embedded-config-server-via-spring-cloud-config/ Spring Boot Admin, Turbine Zipkin, Spring Cloud Sleuth Distributed Tracing, Twitter 세미나에서 다루지 못한 얘기들.. FAQ 코드 리뷰 TDD Database 분리 방법 분산 트랜잭션 Eve.. SpringCloud 2021. 2. 7. 이전 1 2 다음 💲 추천 글 728x90