Chào bạn. Cho mình hỏi làm sao để connect ssh với cái ec2 mình vừa tạo. Ví dụ mình muốn cài docker va docker compose, thì bắt buộc phải cài luôn trong file bash.sh à. Thanks.
Anh hiểu câu hỏi của em là sau khi order-service gửi event sang payment-service yêu cầu thanh toán, payment-service thực hiện business nhưng bị exception (app crash/lost connection to database....). Lúc này xảy ra tình huống mất message như em nói, trong khi expect next event SUCCESS/FAIL. Trường hợp này xử lý thế nào? Có đúng em định hỏi thế này không?
Em đọc bài trước của anh phần handle exception nhé. Vấn đề của em nói nó không phụ thuộc vào transaction outbox nữa mà nó là vđề của việc handle business exception. Có 2 cách: 1 là retry và 2 là cancel. Nhưng chung quy lại nó sẽ là vấn đề của việc event phải lưu ở đâu để đảm bảo k mất event, để khi exception xảy ra (app crash, lost connection...) thì hệ thống vẫn consume lại đc event đó để xử lý tiếp. Nên vấn đề sẽ chỉ còn là việc event được lưu ở đâu để đảm bảo 2 tính chất: ordering và durability.
Cái này thì nó lại là bài toán khác không liên quan đến Outbox. Nên mình sẽ quay về xử lý việc store event nhé, nếu là anh anh sẽ sử dụng Kafka làm message broker vì nó support việc replay message trong trường hợp exception. Em có thể đọc thêm series Kafka của a để hiểu rõ hơn. Đại khái là ở TH1 như em nói thì mấu chốt là cần consume lại chính event đó để retry -> đã đc giải quyết = Kafka.
Còn TH2 nếu em dùng transactionless thì việc rollback thế nào em phải handle = code. Em cần implement state machine hoặc một cách nào đó để lưu được state hiện tại của hệ thống, dựa trên đó em có rollback phù hợp. Nhưng anh thì không khuyến khích cách này.
@thinh24 Hướng dẫn thì bạn search trên mạng nhiều mà. Nhưng khuyến khích bạn nếu không chuyên thì nên nhờ đội làm Chatbot họ tích hợp luôn cho. Vì cũng cần phải chỉnh sửa cấu hình lúc deploy lại server Chatbot nữa.
THẢO LUẬN
em sửa lại bài rồi nhé
này trên github đúng á nha anh, em quên sửa trong bài. Phải là ${var.project} nó mới giống trong variable, em quên để thành ${var.namespace}
:)))code trên github của bài số 7 ko giống với mô tả trong bài viết. em giúp a xem lại với. cảm ơn em
Cùng tìm hiểu về shbet nhé. KIến thức rất hữu ích cho các bạn. Tham gia ngay nhà cái lớn nhất Châu Á :
đăng nhập shbet đăng ký shbet
Nice, very good
đăng nhập shbet đăng ký shbet
KIến thức rất hữu ích cho các bạn. Tham gia ngay nhà cái lớn nhất Châu Á :
đăng nhập shbet đăng ký shbet
Bài viết rất hữu ích dành cho các bạn mới đi làm. Hãy tham gia ngay trang casino uy tín nhất Châu Á hiện tại.
đăng nhập shbet
đăng ký shbet
bài viết khá ok bạn ạ
!otherArr.includes(v) nếu bằng true thì thực hiện câu lên bên phải && ngược lại thì không nha bn
bạn xem bài 12 nhé
Cảm ơn chia sẻ rất chi tiết của bạn
Chào bạn. Cho mình hỏi làm sao để connect ssh với cái ec2 mình vừa tạo. Ví dụ mình muốn cài docker va docker compose, thì bắt buộc phải cài luôn trong file bash.sh à. Thanks.
Anh ơi anh có thể ra 1 bài viết phân tích sự khác nhau giữa Stream và Thread ko?
Uầy vừa giải thích đơn giản vừa hay ho, đỉnhhhhhh quá anh ơi
@datbv Em cảm ơn anh em đã hiểu rồi ạ !
hi em,
Anh hiểu câu hỏi của em là sau khi order-service gửi event sang payment-service yêu cầu thanh toán, payment-service thực hiện business nhưng bị exception (app crash/lost connection to database....). Lúc này xảy ra tình huống mất message như em nói, trong khi expect next event SUCCESS/FAIL. Trường hợp này xử lý thế nào? Có đúng em định hỏi thế này không?
Em đọc bài trước của anh phần handle exception nhé. Vấn đề của em nói nó không phụ thuộc vào transaction outbox nữa mà nó là vđề của việc handle business exception. Có 2 cách: 1 là retry và 2 là cancel. Nhưng chung quy lại nó sẽ là vấn đề của việc event phải lưu ở đâu để đảm bảo k mất event, để khi exception xảy ra (app crash, lost connection...) thì hệ thống vẫn consume lại đc event đó để xử lý tiếp. Nên vấn đề sẽ chỉ còn là việc event được lưu ở đâu để đảm bảo 2 tính chất: ordering và durability.
Cái này thì nó lại là bài toán khác không liên quan đến Outbox. Nên mình sẽ quay về xử lý việc store event nhé, nếu là anh anh sẽ sử dụng Kafka làm message broker vì nó support việc replay message trong trường hợp exception. Em có thể đọc thêm series Kafka của a để hiểu rõ hơn. Đại khái là ở TH1 như em nói thì mấu chốt là cần consume lại chính event đó để retry -> đã đc giải quyết = Kafka.
Còn TH2 nếu em dùng transactionless thì việc rollback thế nào em phải handle = code. Em cần implement state machine hoặc một cách nào đó để lưu được state hiện tại của hệ thống, dựa trên đó em có rollback phù hợp. Nhưng anh thì không khuyến khích cách này.
@pham.van.toan vậy à. dù sao cũng cảm ơn bạn
@thinh24 Hướng dẫn thì bạn search trên mạng nhiều mà. Nhưng khuyến khích bạn nếu không chuyên thì nên nhờ đội làm Chatbot họ tích hợp luôn cho. Vì cũng cần phải chỉnh sửa cấu hình lúc deploy lại server Chatbot nữa.
bài viết rất hay và dễ hiểu ạ, tks chủ thớt
Thank you