Khách hàng muốn biết về các sự kiện khi chúng xảy ra. Sau khi khách hàng đặt mua một đôi giày mới và nhận được thông báo rằng giao hàng đã được giao, việc cập nhật trạng thái giao hàng từng phút trước khi giao hàng sẽ cải thiện trải nghiệm tổng thể của khách hàng.
Các cập nhật về đơn đặt hàng của bạn là các sự kiện kích hoạt phản hồi trongkiến trúc hướng sự kiện (EDA). EDA là một thiết kế phần mềm phản ứng với những thay đổi trạng thái (sự kiện) và truyền những sự kiện này bằng cách sử dụng kiến trúc tách rời. Kiến trúc tách rời này có thể sử dụng một số mẫu thiết kế như mẫu xuất bản-đăng ký (pub-sub), trong đó nhà sản xuất xuất bản một sự kiện và một người đăng ký theo dõi các sự kiện, nhưng cả hai bên đều không phụ thuộc vào bên kia.
Phát trực tuyến sự kiện và tìm nguồn cung ứng sự kiện đại diện cho hai cách mà các tổ chức có thể cung cấp năng lượng cho EDA của họ.
Với truyền sự kiện, có một luồng dữ liệu liên tục chảy giữa các hệ thống, với dữ liệu biểu thị trạng thái mới của sự kiện được phát bằng cách sử dụng mẫu pub-sub. Mặt khác, tìm nguồn cung ứng sự kiện lưu trữ mọi sự kiện mới trong nhật ký phụ thêm. Điều này phục vụ như một nguồn sự thật có chứa một thứ tự thời gian của các sự kiện và bối cảnh.
Tìm nguồn sự kiện và truyền sự kiện thường được sử dụng song song trong các EDA, nhưng điều quan trọng là phải phân biệt hai loại này vì chúng hoạt động rất khác nhau. Trong khi các luồng sự kiện thúc đẩy giao tiếp dễ tiếp cận hơn giữa các hệ thống, thì nguồn sự kiện cung cấp lịch sử sự kiện bằng cách lưu trữ các sự kiện mới trong nhật ký chỉ nối thêm.
Ở đây, chúng ta sẽ thảo luận về cả hai phương pháp điều phối sự kiện và cung cấp một số trường hợp sử dụng cho từng phương pháp.
Truyền phát sự kiện sử dụng phương pháp pub-sub để cho phép giao tiếp dễ tiếp cận hơn giữa các hệ thống. Trong mẫu kiến trúc pub-sub, người tiêu dùng đăng ký một chủ đề hoặc sự kiện và nhà sản xuất đăng lên các chủ đề này để người tiêu dùng sử dụng. Thiết kế pub-sub tách riêng hệ thống nhà xuất bản và người đăng ký, giúp dễ dàng mở rộng từng hệ thống riêng lẻ.
Hệ thống nhà xuất bản và người đăng ký giao tiếp thông qua một nhà môi giới tin nhắn như
Truyền sự kiện liên quan đến luồng dữ liệu liên tục từ các nguồn như ứng dụng, cơ sở dữ liệu, cảm biến và thiết bị IoT. Luồng sự kiện sử dụng quy trình xử lý luồng, trong đó dữ liệu được xử lý và phân tích trong quá trình tạo. Quá trình xử lý nhanh này dẫn đến kết quả nhanh hơn, điều này rất có giá trị đối với các doanh nghiệp có khoảng thời gian giới hạn để thực hiện hành động, cũng như với bất kỳ ứng dụng thời gian thực nào.
Phát trực tuyến sự kiện mang lại một số lợi thế cho doanh nghiệp; ở đây có một ít:
Truyền phát và xử lý sự kiện mang đến cho các tổ chức khả năng làm phong phú thêm trải nghiệm của khách hàng. Ví dụ: một khách hàng đặt bữa tối có thể nhận được cập nhật trạng thái tức thì, thông báo cho họ khi phương tiện giao hàng đang trên đường đến địa điểm của họ hoặc nếu phương tiện đã đến. Trải nghiệm khách hàng nâng cao này chuyển thành niềm tin nhiều hơn, đánh giá tốt hơn và doanh thu được cải thiện.
Các ứng dụng như PayPal và các ứng dụng công nghệ tài chính khác có thể sử dụng tính năng phát trực tuyến sự kiện để cung cấp khả năng phát hiện gian lận trực tuyến nhằm tăng cường bảo mật bằng cách sử dụng tính năng giám sát theo thời gian thực. Các thuật toán gian lận kiểm tra các tình huống của một sự kiện (mua hàng hoặc giao dịch) bằng cách sử dụng phân tích dự đoán để phát hiện sai lệch so với định mức (ngoại lệ). Nếu hệ thống phát hiện một sự kiện ngoại lệ hoặc bất thường, nó sẽ dừng giao dịch hoặc chặn thẻ hoàn thành giao dịch đó.
Bằng cách phân tích các luồng sự kiện, các công cụ công nghiệp có thể ghi lại các số liệu về hiệu suất và tình trạng để đánh giá tình trạng của thiết bị. Tính năng này cho phép các tổ chức thực hiện bảo trì dự đoán trên máy móc trước khi xảy ra sự cố hoàn toàn, khiến chi phí sửa chữa cao hơn. Ví dụ, trong sản xuất, các tổ chức có thể sử dụng các luồng Pulsar để tổng hợp và xử lý dữ liệu từ các thông số của máy như nhiệt độ hoặc áp suất. Các kỹ sư có thể đặt nhiệt độ tối đa của máy và đặt cảnh báo sẽ được kích hoạt nếu vượt quá nhiệt độ đó. Người vận hành máy có thể thực hiện kiểm tra và bảo trì trước khi xảy ra các sự cố tốn kém hơn.
Truyền sự kiện là điều cần thiết cho các doanh nghiệp và ứng dụng truyền một lượng lớn dữ liệu và phụ thuộc vào thông tin chi tiết nhanh, có thể hành động. Các ứng dụng này bao gồm thương mại điện tử, giao dịch tài chính và thiết bị IoT.
Các ứng dụng giao dịch tài chính sử dụng luồng sự kiện để xuất bản các sự kiện nhạy cảm về thời gian mà khách hàng muốn hành động ngay lập tức. Chẳng hạn, người dùng có thể đăng ký dịch vụ phụ trợ gửi thông tin cập nhật về các sự kiện cụ thể, chẳng hạn như thay đổi giá cổ phiếu, để cho phép ra quyết định kịp thời.
Truyền sự kiện cũng có các ứng dụng phát hiện gian lận và rủi ro trong các hệ thống tài chính xử lý thanh toán và các giao dịch khác (đồng thời chặn các giao dịch gian lận). Các thuật toán gian lận được xác định có thể chặn các giao dịch đáng ngờ bằng cách phân tích dữ liệu ngay sau khi được tạo.
Tìm nguồn sự kiện lưu trữ dữ liệu dưới dạng sự kiện trong nhật ký nối thêm. Quá trình nắm bắt mọi thay đổi đối với trạng thái của ứng dụng trong một đối tượng sự kiện và lưu trữ các đối tượng sự kiện này dưới dạng nhật ký theo thứ tự thời gian. Với tìm nguồn cung ứng sự kiện, các cửa hàng sự kiện biên dịch trạng thái của một thực thể kinh doanh dưới dạng một sự kiện theo trình tự và một thay đổi về trạng thái, chẳng hạn như đơn đặt hàng mới hoặc hủy đơn đặt hàng, sẽ thêm trạng thái mới nhất vào danh sách sự kiện.
Để tạo nguồn sự kiện hoạt động hiệu quả và tiêu tốn ít tài nguyên nhất, mỗi đối tượng sự kiện chỉ nên chứa các chi tiết cần thiết. Điều đó giảm thiểu dung lượng lưu trữ và ngăn việc sử dụng các tài nguyên có giá trị trong việc xử lý dữ liệu dẫn đến thông tin chi tiết không thể thực hiện được.
Cửa hàng sự kiện tổng hợp các sự kiện và bối cảnh kinh doanh; việc thêm các luồng dài vào nhật ký sự kiện sẽ tiêu tốn dung lượng lưu trữ cơ sở dữ liệu một cách nhanh chóng. Chỉ giữ lại các bối cảnh sự kiện cần thiết như một phần của đối tượng sự kiện giúp giải phóng dung lượng lưu trữ để thêm nhiều nhật ký sự kiện, giúp thúc đẩy thông tin chi tiết có thể hành động.
Các tổ chức có thể chọn sử dụng "ảnh chụp nhanh" để giúp tối ưu hóa hiệu suất trong những trường hợp như vậy. Ảnh chụp nhanh cho phép lưu trữ trạng thái hiện tại của thực thể. Việc biết trạng thái hiện tại chỉ có thể liên quan đến việc kéo ảnh chụp nhanh và tạo lại dòng thời gian để biết trạng thái hiện tại nhất.
Hãy minh họa điều này. Giả sử chúng ta có một cơ sở dữ liệu lưu trữ các mặt hàng gần đây trong một cửa hàng thương mại điện tử:
Hầu hết các cơ sở dữ liệu chỉ lưu trữ trạng thái hiện tại. Nếu chúng tôi tính đến hành trình làm thế nào chúng tôi đạt được giá trị cổ phiếu cuối cùng là 91, thì sẽ không có gì chắc chắn hoặc rõ ràng về cách chúng tôi đạt được điều đó. Tìm nguồn sự kiện ghi lại mọi thay đổi trạng thái trong nhật ký, giúp theo dõi lịch sử sự kiện để phân tích và kiểm tra nguyên nhân gốc rễ.
Các tổ chức chăm sóc sức khỏe là một trong những ngành được quản lý chặt chẽ nhất, với các quy định luôn thay đổi để bảo vệ thông tin khách hàng. Họ cần một giải pháp lưu trữ linh hoạt thích ứng với nhu cầu dữ liệu ngày càng tăng trong khi vẫn duy trì việc di chuyển dễ dàng các hệ thống cũ sang các công nghệ mới hơn.
Bằng cách sử dụng các cửa hàng sự kiện làm nguồn sự thật duy nhất, các hệ thống chăm sóc sức khỏe có thể dựa vào trạng thái bất biến của nhật ký sự kiện để biết trạng thái thực tế của dữ liệu và đưa ra các dự báo có giá trị bằng cách sử dụng xử lý luồng thời gian thực. Các doanh nghiệp bán lẻ và thương mại điện tử có thể hiểu rõ hơn về khách hàng của họ bằng cách phân tích các cửa hàng sự kiện lớn, lâu bền, giúp họ tạo ra trải nghiệm khách hàng được cá nhân hóa hơn.
Có một vài điểm tương đồng giữa phát trực tuyến sự kiện và tìm nguồn cung ứng sự kiện. Thứ nhất, mỗi phương thức điều phối sự kiện đều sử dụng kiến trúc vi dịch vụ tách rời, giúp cải thiện khả năng mở rộng và hiệu suất.
Mặc dù các cửa hàng sự kiện và luồng khác nhau về độ bền trạng thái, nhưng chúng rất cần thiết trong việc cung cấp trạng thái sự kiện hiện tại của các ứng dụng để sử dụng trong phân tích và đưa ra các quyết định kinh doanh. Ngoài ra, cả hai phương thức điều phối sự kiện đều có khả năng lưu trữ lâu dài, mặc dù các cửa hàng sự kiện thường cung cấp dung lượng lưu trữ mở rộng lâu hơn so với các luồng sự kiện.
Sau đây, chúng ta hãy tìm hiểu sâu hơn về một số điểm khác biệt chính giữa phát trực tuyến sự kiện và tìm nguồn cung ứng sự kiện.
Truyền sự kiện là tối ưu để giao tiếp dễ tiếp cận hơn giữa dữ liệu đang chuyển động bằng cách tách nhà xuất bản khỏi người đăng ký và giúp dễ dàng xuất bản hàng triệu thông báo với hiệu suất cao. Mặt khác, tìm nguồn sự kiện giúp thiết lập lịch sử sự kiện bằng cách lưu trữ mọi trạng thái mới của một thực thể trong nhật ký chỉ nối thêm.
Đối với tìm nguồn sự kiện, dữ liệu tồn tại ở trạng thái nghỉ vì các sự kiện là bất biến. Tuy nhiên, các luồng sự kiện liên quan đến dữ liệu luôn được truyền, chuyển giữa nhiều hệ thống lưu trữ như cơ sở dữ liệu, cảm biến và ứng dụng.
Phát trực tuyến sự kiện và tìm nguồn cung ứng sự kiện giúp điều phối các sự kiện trong một kiến trúc hướng sự kiện. Mặc dù việc sử dụng và giá trị của chúng là khác nhau, nhưng chúng phối hợp tốt với nhau để giúp xây dựng một ứng dụng lâu bền và hiệu suất cao.
Truyền sự kiện sử dụng mẫu pub-sub tách rời để liên tục truyền dữ liệu từ nhiều nguồn khác nhau, giúp thúc đẩy quá trình ra quyết định kinh doanh. Thật không may, mặc dù các công cụ truyền sự kiện có thể sở hữu bộ lưu trữ lâu bền, nhưng chúng không được thiết kế để lưu trữ tin nhắn trong thời gian dài, vì các tính năng lưu trữ lâu bền chỉ tồn tại đủ lâu để làm cho chúng có khả năng chịu lỗi và linh hoạt.
Người ta có thể xem tìm nguồn sự kiện như một tập hợp con hoặc thành phần của truyền phát sự kiện. Tìm nguồn sự kiện nối thêm một sự kiện mới vào danh sách các sự kiện hiện tại theo cách có thứ tự. Nó cũng có thể hoạt động như một nguồn sự thật cho các cuộc kiểm toán đáng tin cậy và có được trạng thái hiện tại của các sự kiện bất cứ lúc nào. Tìm nguồn cung ứng sự kiện rất quan trọng đối với các ngành tài chính với các yêu cầu nghiêm ngặt về quy định và kiểm toán, đồng thời là nơi lưu trữ đáng tin cậy để theo dõi và xây dựng trạng thái hiện tại của các sự kiện. Ngược lại, truyền sự kiện rất quan trọng trong các ứng dụng giao dịch tài chính, nơi các hành động có thời hạn và yêu cầu hành động ngay lập tức.
EDA không nhất thiết phải là một điểm đến. Đó là một con đường để đi theo, thúc đẩy các đặc tính và hiệu suất hệ thống nhất định. Ví dụ: tìm nguồn cung ứng sự kiện tách riêng một tập hợp các dịch vụ siêu nhỏ để chúng ít phụ thuộc vào nhau hơn. Điều này thúc đẩy khả năng phục hồi và lặp lại dễ dàng hơn, cùng với các lợi ích khác. Kết hợp với tìm nguồn cung ứng sự kiện, vi dịch vụ có khả năng phát lại các sự kiện cũng như nhật ký đầy đủ các thay đổi đối với một tính năng nhất định như hồ sơ của người dùng. Loại kiến trúc này mở ra những khả năng mới trong các hệ thống hiện có.
Cũng được xuất bản ở đây.