
Log Management for Developers
foo
We cover the entire cycle, from what logs to keep to how to collect and use them.
초급
Elasticsearch, logback, Logstash
장애 없는 서비스를 만들기 위한 CircuitBreaker를 도입하기 위한 방법에 대해 쉽고 빠르게 알려드립니다.
장애 없는 서비스를 만들기 위한 CircuitBreaker의 개념
Resilience4j를 통해 CircuitBreaker를 빠르게 적용
장애가 나도 안정적인 서비스 만들기!
쉽게 배우는 서킷브레이커의 A to Z 💡
안정적인 서비스를 만드는 CircuitBreaker
IT 서비스 기업에선 어떻게 장애 상황에도 느끼지 못할 만큼 안정적으로 서비스를 운영할까요? Resilience4j를 통해 서킷 브레이커를 쉽고 빠르게 프로젝트에 적용하는 방법에 대해 알아봅니다.
특정 서버에 트래픽이 집중될 때 전체 서비스에 영향이 가지 않게 구성하는 법을 고민하고 계신 분
MSA(Micro-Service Architecture)로 서비스를 구성했는데 일부 서비스의 장애만으로도 전체 서비스가 죽어버리는 상황을 해결하고 싶은 분
서킷 브레이커라는 개념이 뭔지 대략 알고는 있지만, 어떻게 시작해야 할지 모르겠는 분
장애에 강한 서비스를 만들기 위한 기본기인 서킷 브레이커(Circuit Breaker)의 개념을 익힐 수 있는 강의입니다. ‘우리 서비스에 트래픽이 집중되는 서버가 종종 너무 느려지는데, 이런 상황에서 전체 서비스에 영향을 주지 않게 구성하려면 어떻게 해야 하지?’ 하는 고민해보신 적이 있진 않으신가요?
여러분의 서비스에 서킷 브레이커를 도입하면 이런 문제를 쉽게 해결할 수 있습니다. 트래픽이 집중되는 서비스에 서킷 브레이커를 걸어 트래픽을 효과적으로 제어하고, 서비스를 안정적으로 유지하는 방법에 대해 알려드립니다!
서킷 브레이커를 처음 들어보는 사람이라면 복잡하게 느껴질 수 있는 서킷 브레이커의 상태 변화 과정을 쉽게 이해할 수 있도록 단계별로 그림과 함께 설명했습니다.
Resilience4j라는 라이브러리에 익숙해지기 쉽도록, 훨씬 간단한 Retry를 적용하는 방법부터 시작해 CircuitBreaker로 넘어가도록 점진적으로 구성하였습니다.
Resilience4j 공식 문서 및 데모 프로젝트는 매우 불친절해서 내 프로젝트에 적용하기 어렵습니다. 이 강의에서는 서비스에 당장 서킷 브레이커를 적용할 수 있도록 핵심적인 내용만 간추렸습니다.
이론 6 : 실습 4의 비중으로 실무에서의 서킷브레이커 도입에 초점을 맞췄습니다. 웹 애플리케이션을 몇 개 만들어 본 경험만 있다면 어렵지 않게 학습하실 수 있습니다.
서비스를 운영하다 보면 서비스 내부에서 호출하고 있는 다른 서비스나 데이터베이스 같은 요소에 문제가 생기거나 너무 큰 부하를 받아 일시적으로 사용이 불가능한 상태가 되곤 합니다. 백엔드 개발자라면 이런 일부 서비스에 대한 실패가 서비스 전체의 실패로 이어지는 상황을 피하고 싶겠죠? 이런 문제를 서킷 브레이커를 통해 해결할 수 있습니다.
서비스 운영에서 트래픽이 문제가 될 때는 평소보다 짧은 시간에 폭발적인 트래픽이 몰릴 경우입니다. 이벤트를 진행해서 트래픽이 집중될 수도 있고, 누군가 공격을 해서 트래픽이 치솟을 수도 있습니다. 이렇게 트래픽이 몰리면 서비스가 종종 죽어버리곤 합니다. 그렇다고 이런 트래픽이 집중되는 시점에 맞춰 인프라를 갖춰두는 건 평소에는 불필요하게 많은 비용을 쓰게 만들겠죠.
그러나 이런 트래픽에도 서킷 브레이커를 활용하면 낮은 자원만 사용하면서도 트래픽에 서비스가 죽지 않고 개발자에게 대응할 시간을 줄 수 있습니다. 트래픽으로 인한 문제가 서비스 전체로 퍼지는 것도 막을 수 있죠.
서킷 브레이커는 이 3가지 상태를 오고 가며 트래픽을 제어합니다. CLOSE, OPEN, HALF_OPEN 이렇게 3가지 상태가 각각 무엇을 의미하는지 설명을 적어두었지만, 아직은 잘 모르겠죠? 강의를 듣고 나면 각각의 상태가 어떤 상태이고, 서킷 브레이커가 이 3가지 상태를 어떻게 오고 가며 서비스를 안정적으로 운영하도록 도와주는지 알 수 있게 될 겁니다.
서킷 브레이커에 대한 개념적인 설명뿐만 아니라 어떤 설정을 지정할 수 있는지도 알려드립니다. Resilience4j를 통해 서킷 브레이커에 어떤 설정을 할 수 있는지 알아보고 여러분의 서비스에 적절한 설정을 찾아보세요. 아래 그림은 서킷 브레이커에서 중요한 개념 중 하나인 '슬라이딩 윈도우'에 대한 내용입니다.
안녕하세요. 강의와 멘토링을 하고 있는 푸(Foo) 라고 합니다.
약 2년 전 우연한 계기로 Resilience4j를 사용하게 됐습니다. 당시 Resilience4j를 통해 서킷 브레이커를 적용하려고 했는데, 서킷 브레이커라는 개념 자체도 처음이었고 공식 문서와 데모 프로젝트가 친절하지 않아 프로젝트에 적용하는 데 큰 어려움을 겪었던 기억이 있는데요. 그때 겪었던 어려움을 어떻게 하면 다른 사람들이 겪지 않도록 할 수 있을까 하는 생각으로 이번 강의를 만들었습니다. 많은 분들이 Resilience4j를 도입하시는 데 도움이 될 수 있기를 바랍니다 😄
Q. 왜 Resilience4j와 서킷 브레이커를 알아야 하나요?
Resilience4j와 서킷 브레이커를 알아야 하는 이유는 시스템의 안정성과 가용성을 확보하는 데 중요한 역할을 한다는 점입니다. 현재 서비스 되고 있는 많은 애플리케이션은 다양한 외부 서비스와의 연동을 필요로 하며, 외부 서비스의 장애나 지연으로 인해 전체 시스템의 성능이 저하될 수 있습니다. Resilience4j와 서킷 브레이커는 이러한 상황을 대비하여 애플리케이션을 견고하게 만들고, 애플리케이션이 장애 상황에서 복구되는데 도움을 줍니다.
Q. Resilience4j와 서킷 브레이커에 대해 어느 정도 수준까지 다루나요?
강의에서는 Resilience4j라는 라이브러리를 통해 서킷 브레이커를 빠르게 적용할 수 있는 방법에 대해 다룹니다. 서킷 브레이커의 개념에서부터 의존성 추가와 코드에 적용, 어떤 상황에 서킷 브레이커가 효과적으로 적용될 수 있는지에 대해 다룹니다. 또한 서킷 브레이커를 제대로 활용하기 위해 서킷 브레이커의 주요 설정들과 Actuator를 활용한 서킷 브레이커 제어 방법까지 다루고 있습니다.
Q. 어느 정도 수준의 학습자가 들을 수 있는 강의인가요?
이 강의는 Resilience4j와 서킷 브레이커에 대한 기본 개념부터 시작합니다. 따라서 프로그래밍 경험이나 백엔드 개발 지식을 갖고 있지만 Resilience4j에 대한 사전 지식이 없는 초보자들도 수강할 수 있습니다. 또한 서킷 브레이커의 개념은 간단히 알고 있지만, 내 서비스에 빠르게 코드로 적용시켜보고 싶은 분들도 수강하기에 적절합니다.
💾 수강 전 확인해주세요
학습 대상은
누구일까요?
일부 서비스에 장애가 발생했을 때도 사용자가 장애를 느끼지 못하는 안정적인 서비스를 구현하고 싶은 분들
CircuitBreaker를 적용하는게 좋을 것 같다는 이야기는 들었는데 어떻게 시작해야할지 감을 못잡겠는 분들
4,451
명
수강생
177
개
수강평
95
개
답변
4.9
점
강의 평점
8
개
강의
안녕하세요.
멘토링을 하면서 주니어 개발자들이 어려워 하는 개념들에 대해 어떻게 하면 쉽게 전달할 수 있을지에 대해서 많은 고민을 하고 있는 푸(Foo)라고 합니다.
잘 부탁 드리겠습니다.
이력
2019. 08 ~ 현재 : 카카오 자바 백엔드 개발자
2021. 08 ~ 현재 : programmers 백엔드 데브코스 멘토
2021. 12 ~ 현재 : F-Lab 자바 백엔드 멘토
책
이것이 취업을 위한 백엔드 개발이다 with 자바(링크)
기타 이력 및 타 플랫폼 강의들은 아래 GitHub 링크에서 확인할 수 있습니다.
GitHub - https://github.com/lleellee0
전체
19개 ∙ (2시간 36분)
전체
22개
4.8
22개의 수강평
수강평 44
∙
평균 평점 5.0
5
Punim I started from 101 and followed Programmers Now I'm at Inflearn and I'm listening to the lectures well Please make many more great lectures in the future~!! Stay healthy Thank you
Thank you for leaving a review, Boki. You've listened to many of my previous lectures. As you said, I'll take care of my health and make more helpful lectures!
수강평 3
∙
평균 평점 5.0
5
I happened to learn about resilience4j. Thanks to this, I learned about resilience. The difficulty level is intermediate or higher, but since it explains the basic concepts, I thought it was not difficult at all and I could apply it right away. I am still a job seeker, but I think it will help me in my future career~ I listened well!
Thank you, yosongsong, for your valuable review. I know you must be having a hard time preparing for employment, but I hope you find success by doing your best! If you have any questions, please leave them later.
수강평 2
∙
평균 평점 4.5
5
Hello, foo I need to apply circuit breakers in the project I'm currently working on, and at first, the team suggested introducing Hystrix. As shown in the lecture video, the project is only maintaining Hystrix, so I shared this with the team and was going to introduce Resilience4j, and a related lecture came out, so I took it right away! I took another lecture by foo before, and it was really helpful, and this one was also very helpful. I'm really grateful, and I hope you'll give me more great lectures in the future! Thank you!
Hello daonplace! I'm glad it was helpful for your work. Haha Thank you so much for taking my other lectures. (_ _) I will continue to work hard on making lectures!
수강평 1
∙
평균 평점 5.0
5
- It's too bad that the maximum number of stars I can give is 5. - The structure of the sentences the instructor speaks is mostly perfect. After listening to many lectures, I've found that there are many lectures where the sentence structure of subject, verb, object, etc. is messy, so additional energy is needed to understand the sentences being explained. However, this lecture is easy to understand right away. - The explanations are short, concise, and plain, so it's easy to listen to and understand. - A student-friendly lecture. The lecture predicts and mentions parts that students might get confused about while learning. It has the effect of preemptively pointing out parts that need to be understood more carefully. Ex) Emphasizes that the concept of OPEN in circuit breaker is used in a negative sense, not a positive one. *Overall* I hope Foo's new lecture comes out soon.
Thank you for your detailed compliments, Mr. Kim Chan. I'm touched. ㅎㅎㅎㅎ Thank you for leaving a lot of good feedback on the positive side. It was a great help~ Thank you so much for taking the class, and I hope the lecture content was helpful to Mr. Kim Chan! The lecture will be uploaded as a performance test lecture in December. Please take this lecture or other lectures and give me positive feedback, and tell me what you think could be improved. I will reflect it in the lecture. (_ _) And if there are any parts that you think need additional explanation, please tell me! I will come back with good lectures in the future. Thank you.
지식공유자님의 다른 강의를 만나보세요!
같은 분야의 다른 강의를 만나보세요!
₩39,600