강의

멘토링

로드맵

BEST
Programming

/

Back-end

Resilience4j - CircuitBreaker for creating fault-free services

We'll show you a quick and easy way to implement CircuitBreaker to create a fault-tolerant service.

(4.9) 29 reviews

452 learners

  • foo
3시간 만에 완강할 수 있는 강의 ⏰
resilience4j
Spring Boot
circuit-breaker
MSA

Reviews from Early Learners

What you will learn!

  • CircuitBreaker concept for creating fault-free services

  • Rapidly deploy CircuitBreaker with Resilience4j

Creating a stable service even with disabilities!
Circuit Breaker A to Z: Easy to Learn 💡

CircuitBreaker: Creating a Stable Service

How do IT service companies operate their services so reliably that even outages are imperceptible? Learn how to quickly and easily implement circuit breakers in your projects using Resilience4j.

Introduction of a quick and simple circuit breaker

Anyone who is thinking about how to configure the entire service so that it is not affected when traffic is concentrated on a specific server.

I have configured my service with MSA (Micro-Service Architecture) and I want to resolve the situation where the entire service crashes due to a failure in just one service.

I have a general idea of what a circuit breaker is, but I don't know where to start.

This course will teach you the concept of circuit breakers, a fundamental skill for building fault-tolerant services. Have you ever wondered, "Our servers, where traffic is concentrated, often become extremely slow. How can we configure them to prevent this from affecting the entire service?"

Implementing circuit breakers in your service can easily solve these problems. We'll explain how to effectively control traffic and maintain service stability by implementing circuit breakers in services with high traffic loads!


For easy learning
It has been meticulously organized.

For those who are hearing about circuit breakers for the first time, the state change process of circuit breakers can seem complicated, so we have explained it step by step with pictures so that you can easily understand it.

To help you get familiar with the library called Resilience4j, we've started with a much simpler approach to Retry and gradually moved on to CircuitBreaker.

The official Resilience4j documentation and demo projects are quite unfriendly, making them difficult to apply to my own projects. This lecture summarizes the core content so you can immediately apply circuit breakers to your services.

Theory 6: Practice 4 focuses on practical application of circuit breakers. Anyone with experience building a few web applications will find the learning process easy.


What you learn in class

When operating a service, issues arise with internally called services or elements like databases, or they become temporarily unavailable due to excessive load. As a backend developer, you want to prevent failures in these specific services from leading to the failure of the entire service. Circuit breakers can address these issues.

When traffic becomes a problem in service operations, it's when a burst of traffic occurs in a short period of time. This can be due to an event, or it can be caused by an attack. These surges often cause services to crash. However, setting up infrastructure to accommodate these peaks would incur unnecessary costs during normal times.

However, even with this kind of traffic, utilizing circuit breakers can minimize resource usage while still ensuring the service doesn't crash, giving developers time to respond. It can also prevent traffic-induced issues from spreading throughout the service.

Circuit breakers control traffic by switching between these three states. I've provided explanations for each of these three states—CLOSE, OPEN, and HALF_OPEN—but you might still be confused. After watching the lecture, you'll understand what each state means and how circuit breakers switch between these three states to ensure stable service operation.

This article provides a conceptual explanation of circuit breakers and explains the configuration options available. Learn about the circuit breaker configuration options available through Resilience4j and find the right one for your service. The figure below illustrates the "sliding window," a key concept in circuit breakers.

Helping you reduce the trial and error of implementing Resilience4j!

Hello, my name is Foo and I teach and mentor.

About two years ago, I happened to use Resilience4j. At the time, I tried to implement circuit breakers using Resilience4j. The concept of circuit breakers was new to me, and the official documentation and demo projects were not very user-friendly, so I had a hard time implementing them in my project. I created this course with the hope that others wouldn't experience the same difficulties I experienced back then. I hope it will help many people adopt Resilience4j. 😄


Q&A 💬

Q. Why should I know about Resilience4j and circuit breakers?

The reason you need to understand Resilience4j and circuit breakers is because they play a crucial role in ensuring system stability and availability. Many applications currently in service require integration with various external services, and failures or delays in these external services can degrade the overall system performance. Resilience4j and circuit breakers help make applications robust and recover from failures.

Q. To what extent does Resilience4j and circuit breakers cover this topic?

This lecture covers how to quickly implement circuit breakers using a library called Resilience4j. It covers the concept of circuit breakers, how to add dependencies and apply them to your code, and how to effectively use them in certain situations. It also covers key circuit breaker settings for effective use and how to control circuit breakers using Actuators.

Q. What level of learner is suitable for this course?

This course begins with the fundamental concepts of Resilience4j and circuit breakers. Therefore, it's suitable for beginners with programming experience or backend development knowledge but no prior knowledge of Resilience4j. It's also suitable for those who have a basic understanding of circuit breakers but want to quickly apply them to their own services.

💾 Please check before taking the class

  • The lecture was recorded based on Windows OS, IntelliJ IDEA Community.
  • Example code used in practice is provided through GitHub .
  • I think anyone who knows that one API server can call not only a database, but also another API server, will be able to take the course at an appropriate level.
  • It's helpful to review the concept explanations in the PPT and then follow along with the practical exercises in IntelliJ to understand the content. (You can also just watch the video lectures, as understanding the concepts themselves is more important.)
  • We will add videos to the [Appendix] section for any questions that are deemed necessary in the future.

Recommended for
these people

Who is this course right for?

  • For those who want to implement a stable service that users do not feel any disruption even when some services fail.

  • I've heard that applying CircuitBreaker would be a good idea, but I don't know where to start.

Hello
This is

5,381

Learners

240

Reviews

108

Answers

4.9

Rating

9

Courses

안녕하세요.

멘토링을 하면서 주니어 개발자들이 어려워 하는 개념들에 대해 어떻게 하면 쉽게 전달할 수 있을지에 대해서 많은 고민을 하고 있는 푸(Foo)라고 합니다.

잘 부탁 드리겠습니다.


이력

  • 2019. 08 ~ 현재 : 카카오 자바 백엔드 개발자

  • 2021. 08 ~ 현재 : programmers 백엔드 데브코스 멘토

  • 2021. 12 ~ 현재 : F-Lab 자바 백엔드 멘토

 

  • 이것이 취업을 위한 백엔드 개발이다 with 자바(링크)

 

기타 이력 및 타 플랫폼 강의들은 아래 GitHub 링크에서 확인할 수 있습니다.

GitHub - https://github.com/lleellee0

Curriculum

All

19 lectures ∙ (2hr 36min)

Published: 
Last updated: 

Reviews

All

29 reviews

4.9

29 reviews

  • 김찬님의 프로필 이미지
    김찬

    Reviews 1

    Average Rating 5.0

    5

    100% enrolled

    - 줄 수 있는 별점 최대 개수가 5개인게 너무 아쉬울 따름. - 강사님이 말하는 문장들의 구조가 대부분 완벽함. 많은 인강들을 들어본 결과, 주어 동사 목적어 등의 문장 구조가 난잡하여서 설명하는 문장들을 이해하기 위해 추가적인 에너지가 필요한 강의가 많음. 하지만 이 강의는 그냥 듣는대로 바로바로 이해가 됨. - 설명하는 호흡이 짧고 간결하고 담백하여 술술 들리고 술술 이해됨. - 수강생 친화적인 강의. 수강생들이 학습하면서 헷갈릴 만한 부분을 미리 예측하여 언급함. 더욱 신경써서 이해해야 하는 부분을 미리 점지해주는 효과. ex) circuit breaker의 OPEN이라는 개념이 긍정적인 의미가 아닌 부정적인 의미로 사용된다는 것을 강조해줌. *총평* Foo님의 새로운 강의가 빨리 나왔으면 좋겠다.

    • 이준형(Foo)
      Instructor

      헛 김찬님 디테일한 칭찬 감사합니다. 감동이네요 ㅎㅎㅎㅎ 긍정적인 측면에서 좋은 피드백 많이 남겨주셔서 큰 힘이 됐습니다~ 잘 수강해주셔서 정말 감사드리고, 강의 내용이 김찬님께 도움이 됐으면 좋겠네요! 강의는 12월중으로 성능 테스트 강의가 업로드될 예정입니다. 이 강의나 다른 강의도 수강하시고 긍정적인 피드백도 좋고, 이런건 개선됐으면 좋겠다고 생각하는 점도 이야기 해주시면 강의에 반영해보겠습니다. (_ _) 그리고 이런 부분은 보충 설명이 필요하다고 생각하시는 부분도 있으면 이야기 해주세요! 앞으로도 좋은 강의로 찾아뵙겠습니다. 감사합니다.

  • 보키님의 프로필 이미지
    보키

    Reviews 48

    Average Rating 5.0

    5

    100% enrolled

    푸님 101부터 시작해서 프로그래머스도 따라왔고 이제 인프런까지와서 강의 잘 듣고 있습니다 앞으로도 꿀강의 많이 만들어주세요~!! 건강하시구요 감사합니다

    • 이준형(Foo)
      Instructor

      보키님 수강평 남겨주셔서 감사합니다~~ 이전 강의들도 많이 들어주셨군요ㅎㅎ 말씀해주신대로 건강 챙겨서 도움될만한 강의 많이 만들어보겠습니다!

  • yosongsong님의 프로필 이미지
    yosongsong

    Reviews 4

    Average Rating 5.0

    5

    100% enrolled

    우연한 계기로 resilience4j에 관한 정보를 알게 되었습니다. 덕분에 회복탄력성에 관해 알게 됐습니다. 난이도는 중급이상이라고 되어있지만, 기초적인 개념부터 설명해주셔서 하나도 어렵지 않고 바로 적용할 수 있다는 생각이 들었습니다. 아직 취준생이지만 추후 커리어에 도움이 될거 같습니다~ 잘들었습니다!

    • 이준형(Foo)
      Instructor

      yosongsong님 소중한 수강평 감사합니다. 취업 준비로 힘드시겠지만 힘내셔서 취업 꼭 성공하셨으면 좋겠네요! 혹시라도 질문 있으시면 나중에라도 질문 남겨주세요.

  • daonplace님의 프로필 이미지
    daonplace

    Reviews 2

    Average Rating 4.5

    5

    100% enrolled

    foo님 안녕하세요 현재 진행하는 프로젝트에서 서킷 브레이커를 적용해야하는데 처음에는 팀에서 Hystrix를 도입하자는 얘기가 나왔습니다. 강의 영상에서와 같이 Hystrix의 유지보수만 되고 있는 프로젝트여서 팀에게 이러한 내용을 공유하고 Resilience4j를 도입할려는데 마침 관련 강의가 나와서 바로 수강하게되었습니다! 이전에 foo님의 다른 강의를 수강한적이 있었는데 정말 많은 도움이되었는데 이번에도 많은 도움이되었습니다. 정말 감사드리고 앞으로도 좋은 강의 많이 부탁드립니다! 감사합니다!

    • 이준형(Foo)
      Instructor

      daonplace님 안녕하세요! 업무에 도움이 되셨다니 다행이네요. ㅎㅎ 제 다른 강의도 수강해주셔서 대단히 감사합니다. (_ _) 앞으로도 강의 열심히 만들어 보겠습니다!

  • 토니야님의 프로필 이미지
    토니야

    Reviews 18

    Average Rating 4.4

    5

    100% enrolled

    Limited time deal ends in 8 days

    $29,700.00

    25%

    $30.80

    foo's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!