Questions Management – Enable Circuit Breaker cho các API và Composite service sử dụng Hystrix từ Spring Cloud Netflix

Xem toàn bộ series bài viết hướng dẫn xây dựng ứng dụng Questions Management tại đây.

Việc áp dụng Circuit Breaker cho các service trong ứng dụng Questions Management là một điều rất quan trọng nhằm đảm bảo các vấn đề xảy ra cần có giải pháp để giải quyết nhanh chóng và kịp thời. Mình sẽ sử dụng Hystrix để làm điều này.

Các bạn có thể tìm hiểu thêm về HystrixHystrix dành cho Reactive application nếu muốn.

Trong ứng dụng Questions Management, các API và Composite service là những service sẽ gọi tới các service khác để lấy dữ liệu. Do đó, mình sẽ khai báo sử dụng Hystrix dependency trong các service này như sau:

Tiếp theo mình sẽ đi từng service để enable Circuit Breaker và sửa lại phần gọi tới các service khác hỗ trợ Hystrix như sau:



API Category Service

ApiCategoryServiceApplication:

CoreCategoryServiceImpl:




API Option Service

ApiOptionServiceApplication:

CompositeOptionServiceImpl:

CoreOptionServiceImpl:




API Question Service

ApiQuestionServiceApplication:

CompositeQuestionServiceImpl:




Composite Question Service

CompositeQuestionServiceApplication:

CoreCategoryServiceImpl:

CoreOptionServiceImpl:

CoreQuestionServiceImpl:




Composite Option Service

CompositeOptionServiceApplication:

CoreOptionServiceImpl:

CoreQuestionServiceImpl:

Xong rồi đó các bạn! Các bạn có thể test Circuit Breaker này như sau:

– Start tất cả các ứng dụng lên:

Questions Management - Enable Circuit Breaker cho các API và Composite service sử dụng Hystrix từ Spring Cloud Netflix

– Request lấy thông tin của 1 question:

Questions Management - Enable Circuit Breaker cho các API và Composite service sử dụng Hystrix từ Spring Cloud Netflix

– Tắt Core Option Service đi:

Questions Management - Enable Circuit Breaker cho các API và Composite service sử dụng Hystrix từ Spring Cloud Netflix

– Request lại question trên, các bạn sẽ thấy kết quả vẫn trả về bình thường mà không có thông tin option như sau:

Questions Management - Enable Circuit Breaker cho các API và Composite service sử dụng Hystrix từ Spring Cloud Netflix

5/5 - (1 bình chọn)

Add Comment