@datbv thằng debezium kiểu nó track dữ liệu từ DB a nhỉ. e thấy như thế thì thằng kafka connector cũng tương tự. hoặc là goldengate của oracle nhưng mà nó vẫn có độ trễ nhất định.
Thằng publish id không biết có real-time được k a (thấy tên có vẻ có )
@datbv e có xem bài sau rồi ạ. thì bài toán của anh ở đây là đang thay đổi trạng thái và thằng order ở đây là Compensable transaction.
Vậy có trường hợp nào trong Pivot transaction có >= 2 service không ạ. E nghĩ là có chứ nhỉ . Nếu có thì lúc này mình muốn rollback với các record là chữ hoặc số bất kì. (nó không còn chỉ là một vài trạng thái nữa) -> thì lúc này nếu e chỉ lưu correlation id là id của bảng trong service thì làm sao để e có thông tin để rollback lại khi mà nó đã được commit rồi ạ.
main() {
// Compile-time error!
int shouldBeDouble = 1.0.addTen();
}
Bạn có ý gì khi ép kiểu dữ liệu 1.0 cho một biến shouldBeDouble kiểu số nguyên int :<<
Mình mới sử dụng ruby, mình từ js và php qua nên vẫn thích làm theo kiểu cũ: tạo 1 hàm xác thực, trả về bool, mình thấy sử dụng cũng ngắn gọn, không cần cài thêm gói, bên dưới là code của mình
def validate_captcha
uri = URI('https://www.google.com/recaptcha/api/siteverify')
request_params = {
:response => params['g-recaptcha-response'],
:secret => captcha_private_key
}
uri.query = URI.encode_www_form(request_params)
res = Net::HTTP.get_response(uri)
result = false
if res.is_a?(Net::HTTPSuccess)
body = JSON.parse res.body
if body['success'].present? && body['success'] == true
result = true
end
end
result
end
Mình đang chạy 1 server elastic như 1 node vậy nếu mình mở rộng như cách của bạn thì cái server thứ 2 cũng phải cung cấu hình với cái đầu phải không bạn.
có nhiều lib + framework để làm saga đó em: temporal.io, eventuate.io...
nhưng flow a nghĩ chỉ vài service thôi chứ, flow mà span ra cả mấy chúc service a cũng chưa thấy bao giờ
ngoài ra saga chỉ là 1 phải giáp, k phải lúc nào apply saga cũng hay
đọc bài sau của a để biết cách sắp xếp transaction hợp lí nhé -> paymentService nên là pivot transaction.
tất cả các event e đều cần có correlation id nhé. ví dụ với bài này correlation_id là order_id. Khi lưu data e phải lưu cả id này cùng record -> khi nhận event e có c_id đó r, bản thân thông tin rollback đã store trong record đó r, vấn đề là làm cách nào tìm đúng record -> c_id.
polliing publíher: chính là relay publisher ở trên, nó hiệu quả với bài toán k cần real-time, và lượng event ít.
transaction log tailing: e có thể tham khảo debezium nhé, idea là nó read file transaction log để build event
publish id: e publish trước event id sang 1 service khác, service khác đó sẽ read data từ db với id đó để publish. phải impl thêm retry hoặc cancel eventid...
THẢO LUẬN
thanks
thanks
"internet of things" chứ không phải "internet of thinks"
@datbv vâng ạ.
@datbv thằng debezium kiểu nó track dữ liệu từ DB a nhỉ. e thấy như thế thì thằng kafka connector cũng tương tự. hoặc là goldengate của oracle nhưng mà nó vẫn có độ trễ nhất định. Thằng publish id không biết có real-time được k a (thấy tên có vẻ có
)
@datbv e có xem bài sau rồi ạ. thì bài toán của anh ở đây là đang thay đổi trạng thái và thằng order ở đây là Compensable transaction. Vậy có trường hợp nào trong Pivot transaction có >= 2 service không ạ. E nghĩ là có chứ nhỉ . Nếu có thì lúc này mình muốn rollback với các record là chữ hoặc số bất kì. (nó không còn chỉ là một vài trạng thái nữa) -> thì lúc này nếu e chỉ lưu correlation id là id của bảng trong service thì làm sao để e có thông tin để rollback lại khi mà nó đã được commit rồi ạ.
bên mình hiện có một số job code bằng Svelte bạn nào muốn nghiên cứu về svelte hay nâng cao hãy tham gia dự án với bên mình. LH SĐT 0779353588.
Có thể do kiến thức của mình chưa đủ tốt để diễn đạt 😭. Dù sao thì cũng cảm ơn bạn đã đọc
bạn cho mình hỏi là làm cách nào để kiểm tra token ngoài sử dụng hàm logout() không?
để đây xem khi nào tổng hợp http://maps.google.com/url?q=https://congnghetudonghoa.com/
http://google.it/url?q=https://congnghetudonghoa.com/
http://google.es/url?q=https://congnghetudonghoa.com/
http://google.nl/url?q=https://congnghetudonghoa.com/
http://google.se/url?q=https://congnghetudonghoa.com/
http://images.google.com/url?q=https://congnghetudonghoa.com/
http://google.com.mx/url?q=https://congnghetudonghoa.com/
http://google.co.nz/url?q=https://congnghetudonghoa.com/
http://google.com.ar/url?q=https://congnghetudonghoa.com/
http://google.no/url?q=https://congnghetudonghoa.com/
http://google.ro/url?q=https://congnghetudonghoa.com/
http://google.com.ph/url?q=https://congnghetudonghoa.com/
http://google.com.vn/url?q=https://congnghetudonghoa.com/
http://google.gr/url?q=https://congnghetudonghoa.com/
http://google.cl/url?q=https://congnghetudonghoa.com/
http://google.com.my/url?q=https://congnghetudonghoa.com/
http://google.sk/url?q=https://congnghetudonghoa.com/
http://google.co.il/url?q=https://congnghetudonghoa.com/
http://google.rs/url?q=https://congnghetudonghoa.com/
http://google.lt/url?q=https://congnghetudonghoa.com/
http://google.si/url?q=https://congnghetudonghoa.com/
http://google.ae/url?q=https://congnghetudonghoa.com/
http://google.hr/url?q=https://congnghetudonghoa.com/
http://google.ee/url?q=https://congnghetudonghoa.com/
http://google.com.pe/url?q=https://congnghetudonghoa.com/
http://google.com.sa/url?q=https://congnghetudonghoa.com/
http://google.lv/url?q=https://congnghetudonghoa.com/
http://google.com.np/url?q=https://congnghetudonghoa.com/
http://google.co.ve/url?q=https://congnghetudonghoa.com/
http://google.com.pk/url?q=https://congnghetudonghoa.com/
http://google.lk/url?q=https://congnghetudonghoa.com/
http://google.ad/url?q=https://congnghetudonghoa.com/
http://google.com.ec/url?q=https://congnghetudonghoa.com/
http://google.com.ng/url?q=https://congnghetudonghoa.com/
http://google.lu/url?q=https://congnghetudonghoa.com/
http://google.com.uy/url?q=https://congnghetudonghoa.com/
http://google.com.bd/url?q=https://congnghetudonghoa.com/
http://google.by/url?q=https://congnghetudonghoa.com/
http://txdot.gov/url?q=https://congnghetudonghoa.com/
http://google.tn/url?q=https://congnghetudonghoa.com/
http://google.co.ke/url?q=https://congnghetudonghoa.com/
http://google.co.cr/url?q=https://congnghetudonghoa.com/
http://google.com.pr/url?q=https://congnghetudonghoa.com/
http://google.com.do/url?q=https://congnghetudonghoa.com/
http://google.com.lb/url?q=https://congnghetudonghoa.com/
http://google.is/url?q=https://congnghetudonghoa.com/
http://google.ba/url?q=https://congnghetudonghoa.com/
http://google.com.gt/url?q=https://congnghetudonghoa.com/
http://google.dz/url?q=https://congnghetudonghoa.com/
http://google.com.sv/url?q=https://congnghetudonghoa.com/
http://google.com.py/url?q=https://congnghetudonghoa.com/
http://google.kz/url?q=https://congnghetudonghoa.com/
http://google.hn/url?q=https://congnghetudonghoa.com/
http://google.com.gh/url?q=https://congnghetudonghoa.com/
http://google.com.bo/url?q=https://congnghetudonghoa.com/
http://google.jo/url?q=https://congnghetudonghoa.com/
http://google.com.mt/url?q=https://congnghetudonghoa.com/
http://google.cat/url?q=https://congnghetudonghoa.com/
http://google.com.kw/url?q=https://congnghetudonghoa.com/
http://google.com.kh/url?q=https://congnghetudonghoa.com/
http://google.pl/url?q=https://congnghetudonghoa.com/
http://google.com.hk/url?q=https://congnghetudonghoa.com/
http://devb.gov.hk/url?q=https://congnghetudonghoa.com/
http://youth.gov.hk/url?q=https://congnghetudonghoa.com/
http://hueuni.edu.vn/url?q=https://congnghetudonghoa.com/
http://drugoffice.gov.hk/url?q=https://congnghetudonghoa.com/
http://rensselaerny.gov/url?q=https://congnghetudonghoa.com/
http://sie.gov.hk/url?q=https://congnghetudonghoa.com/
main() { // Compile-time error! int shouldBeDouble = 1.0.addTen(); } Bạn có ý gì khi ép kiểu dữ liệu 1.0 cho một biến shouldBeDouble kiểu số nguyên int :<<
Mình mới sử dụng ruby, mình từ js và php qua nên vẫn thích làm theo kiểu cũ: tạo 1 hàm xác thực, trả về bool, mình thấy sử dụng cũng ngắn gọn, không cần cài thêm gói, bên dưới là code của mình
Mình đang chạy 1 server elastic như 1 node vậy nếu mình mở rộng như cách của bạn thì cái server thứ 2 cũng phải cung cấu hình với cái đầu phải không bạn.
Họ làm bên bất động sản, không biết code mà cũng không thuê Dev, coi hướng dẫn làm Wordpress thì làm sao mà tự debug được.
yep, vậy mình mới nói phụ thuộc vào team skill khá nhiều nhưng trước mắt cứ phải hiểu đúng và đủ cái đã rồi tính tiếp
Chào b. tôi có thể liên hệ với bạn ntn. Vì có một số lỗi nằm ở code
nai xừ
có nhiều lib + framework để làm saga đó em: temporal.io, eventuate.io... nhưng flow a nghĩ chỉ vài service thôi chứ, flow mà span ra cả mấy chúc service a cũng chưa thấy bao giờ
ngoài ra saga chỉ là 1 phải giáp, k phải lúc nào apply saga cũng hay
đọc bài sau của a để biết cách sắp xếp transaction hợp lí nhé -> paymentService nên là pivot transaction. tất cả các event e đều cần có correlation id nhé. ví dụ với bài này correlation_id là order_id. Khi lưu data e phải lưu cả id này cùng record -> khi nhận event e có c_id đó r, bản thân thông tin rollback đã store trong record đó r, vấn đề là làm cách nào tìm đúng record -> c_id.
hiện tại có 3 cách để làm em nhé: