Questions Management – Hiện thực Turbine Stream với RabbitMQ

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.

Mình đã hướng dẫn các bạn về Turbine Stream với RabbitMQ trong bài viết này, để hiện thực nó cho ứng dụng Questions Management, đầu tiên chúng ta cần thêm Hystrix Stream và Stream Rabbit dependency cho các API và Composite service như sau:

Tiếp theo thì chúng ta cần khai báo thông tin về RabbitMQ cho các service này trong tập tin application.properties của chúng:

Trong project support-turbine-stream, các bạn cần thêm annotation @EnableTurbineStream cho class SupportTurbineStreamApplication:

và cấu hình tập tin application.properties như sau:

Điều cuối cùng chúng ta cần làm đó là, bởi vì latest version của Spring Cloud Netflix không work với Hystrix Stream và Turbine Stream nên chúng ta cần dowgrade version của nó xuống Greenwich.M1 trong tập tin pom.xml của parent project questions-management:

Xong rồi đó các bạn, giờ các bạn hãy thử start MongoDB, RabbitMQ, toàn bộ các service và support:

Questions Management - Hiện thực Turbine Stream với RabbitMQ

Start front-end:

Questions Management - Hiện thực Turbine Stream với RabbitMQ

Chạy Support Hystrix Dashboard connect tới Support Turbine Stream:

Questions Management - Hiện thực Turbine Stream với RabbitMQ

Đi đến trang hiển thị tất cả các câu hỏi, rồi trang hiển thị tất cả các category nhiều lần, sau đó quay lại màn hình của Hystrix Dashboard, các bạn sẽ thấy kết quả như sau:

Questions Management - Hiện thực Turbine Stream với RabbitMQ

Nếu bây giờ mình tắt Core Option Service đi rồi làm lại các thao tác trên, các bạn sẽ thấy kết quả như sau:

Questions Management - Hiện thực Turbine Stream với RabbitMQ

Như các bạn thấy phần hiển thị trên Hystrix Dashboard, phần gọi tới để lấy tất cả các option đang bị lỗi. Dựa vào report này, chúng ta sẽ biết service nào đang cần take action gấp để hệ thống của chúng ta hoạt động ổn định trở lại.

Đánh giá bài viết
Chia sẽ bài viết này ...Share on Facebook
Facebook
0Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin

Add Comment