Event-Driven architecture (EDA) là một kiến trúc phần mềm mà các thành phần của hệ thống có thể giao tiếp bất đồng bộ với nhau bằng cách trao đổi các sự kiện.
CÁC ƯU ĐIỂM CHÍNH CỦA EDA
- Decoupling (Tách rời): EDA giúp tách rời các thành phần trong hệ thống, làm cho chúng độc lập với nhau. Thay vì gọi trực tiếp các dịch vụ khác, một microservice có thể tạo ra các sự kiện khi có dữ liệu mới hoặc trạng thái thay đổi và gửi chúng qua một hệ thống message broker.
- Scalability (Khả năng mở rộng): Với EDA, việc mở rộng hệ thống trở nên dễ dàng hơn. Bạn có thể triển khai nhiều phiên bản của một microservice mà không cần thay đổi các microservice khác, miễn là chúng vẫn có thể xử lý các sự kiện được gửi qua hệ thống.
- Resilience (Khả năng chịu lỗi): Được đặc biệt quan trọng trong môi trường phân tán, EDA có thể cung cấp khả năng chịu lỗi tốt. Nếu một phần của hệ thống gặp sự cố, các sự kiện vẫn có thể được gửi và xử lý bởi các thành phần khác.
- Real-time Processing (Xử lý thời gian thực): EDA thúc đẩy xử lý dữ liệu theo thời gian thực bằng cách phát hiện và phản ứng nhanh chóng với các sự kiện mới. Điều này rất hữu ích trong các trường hợp mà các hành động phải được thực hiện ngay lập tức sau khi có sự kiện xảy ra.
- Event Sourcing: Một kỹ thuật liên quan trong EDA là Event Sourcing, nơi mỗi thay đổi trong trạng thái của hệ thống được biểu diễn dưới dạng một sự kiện. Điều này cung cấp một lịch sử hoàn chỉnh của tất cả các hoạt động xảy ra trong hệ thống, giúp trong việc phục hồi trạng thái hoặc phân tích dữ liệu.
Link chi tiết bài viết: https://viblo.asia/p/gioi-thieu-kien-truc-event-driven-trong-he-thong-microservices-x7Z4DnBoLnX