Hoàng coolfire
Member
Mình k thấy topic nào nên mạn phép tạo r để trao đổi, đợi tí mh viết bài chia sẻ KN của mh đang làm với SAGA outbox
THẾ NÀO LÀ CỔ BẠNở đây có bác nào có kn về dev ops dạng docker nginx k8s, vv.... có tài liệu mới mới để học không ? em tìm toàn đồ cổ học oải vãi đái
à mình có follow theo 1 khóa trên udemy về devops cho .net nhưng thằng đấy dạy setup từ core 2.0 mà h lên net 8 rồi set up thấy cấu hình cũng khác nhanh gọn hơn nên muốn kiếm chỗ nào mới mà hiệu quả các bác đã học qua gợi ý mình luônTHẾ NÀO LÀ CỔ BẠN
anh này là @gaconkute đúng ko nhỉMình k thấy topic nào nên mạn phép tạo r để trao đổi, đợi tí mh viết bài chia sẻ KN của mh đang làm với SAGA outbox
:Outbox đẻ ra để xử lý vấn đề như thím mô tả mà. Sau khi service handle xong event đẩy xuống outbox, đặt scheduler đến khi nào event được đẩy đi thì thôi. Check idempotent tại consumer.- Khi mà xảy ra exception khi call các service khác để lấy data (REST, grpc,..) nhưng không phân biệt được là do không có data hay vấn đề network (nên không lấy được data) mà theo outbox thì sẽ không xử lý lại được event này nữa. Vậy thì trong trường hợp này sẽ xử lý như thế nào?
này chắc do cách bác thiết kế, em làm chỉ đặt chung là outbox event thôi, cụ thể event gì thì nhét vào payload, làm như này thì ko cần phải bôi ra nhiều table như bác đang làmEm cũng apply outbox vào service nhưng khi phình to số lượng event, mà mỗi event sẽ đi kèm 1 outbox table tương đương thì sẽ có n table tương ứng. Và cảm giác như đang hơi "thừa" nhiều.
Mình đang hiểu case của bạn ntn: có 2 step, step 1 là gọi service khác lấy data xử lý rồi sang step 2 là dùng data đã qua xử lý bắn event vào kafka.- Khi mà xảy ra exception khi call các service khác để lấy data (REST, grpc,..) nhưng không phân biệt được là do không có data hay vấn đề network (nên không lấy được data) mà theo outbox thì sẽ không xử lý lại được event này nữa. Vậy thì trong trường hợp này sẽ xử lý như thế nào?
Nếu chỉ 1 outbox event chung thì bác dùng gì để xác định nó là 1 idempotent (em đang xác định unique bằng 1 vài data trong payload và mỗi loại event thì unique này nó sẽ khác nhau). Có thể cách em triển khai chưa hợp lý lắm, bác cho em tham khảo cách thiết kế phátnày chắc do cách bác thiết kế, em làm chỉ đặt chung là outbox event thôi, cụ thể event gì thì nhét vào payload, làm như này thì ko cần phải bôi ra nhiều table như bác đang làm
Outbox đẻ ra để xử lý vấn đề như thím mô tả mà. Sau khi service handle xong event đẩy xuống outbox, đặt scheduler đến khi nào event được đẩy đi thì thôi. Check idempotent tại consumer.
Đúng như bác @martin98 nói, em đang xử lý theo kiểu:Mình đang hiểu case của bạn ntn: có 2 step, step 1 là gọi service khác lấy data xử lý rồi sang step 2 là dùng data đã qua xử lý bắn event vào kafka.
Khi mà xảy ra exception khi call các service khác để lấy data (REST, grpc,..) nhưng không phân biệt được là do không có data hay vấn đề network (nên không lấy được data)