Xây dựng hệ thống pubsub chịu tải cao - Page 2 - vozForums
vozForums
Go Back   vozForums > Máy tính để bàn > Phần mềm > Phát triển Phần mềm
Reply
 
Thread Tools
  #11  
Old 15-06-2019, 19:15
_sharp_'s Avatar
_sharp_ _sharp_ is offline
Đã tốn tiền
 
Join Date: 11-2009
Location: Onepiece
Posts: 1,330
Re: Xây dựng hệ thống pubsub chịu tải cao

Quote:
Originally Posted by vinhomn View Post
Cái service "pubsub" kia của bác như cách em đọc hiểu từ đầu đến h thì nó là 1 con proxy kèm thêm tính năng log/push request vào 1 thằng data storage nào đó để retry khi cần (và logic retry kiểu gì, retry success thì làm gì tiếp thì em cũng chưa tưởng tượng ra luôn ). .
+1. Còn Ack hay ko Ack, retry fail thì sao,...
Reply With Quote
  #12  
Old 26-06-2019, 16:20
robberviet robberviet is offline
Đã tốn tiền
 
Join Date: 02-2008
Posts: 1,926
Re: Xây dựng hệ thống pubsub chịu tải cao

Bạn muốn retry là retry gì?

Nếu ascyn task thì ok, chứ nếu là sync task thì sao bạn chờ Message Queue được? Luôn luôn có khả năng Consumer không xử lý kịp so với producer. Mà nếu đầu tư scale consumer lên thì thà scale ngang server xử lý cho xong.

Retry task async thì thoải mái. Task sync thì tốt nhất xem tải rồi tăng phần cứng thôi
Reply With Quote
  #13  
Old 12-07-2019, 11:03
kimcawin's Avatar
kimcawin kimcawin is offline
Senior Member
 
Join Date: 07-2010
Posts: 127
Re: Xây dựng hệ thống pubsub chịu tải cao

1 kafka cluster bao khoẻ, scale thoải mái, cớ chế partition của kafka hiện tại hình như là đôc nhất. Giàu có thì dùng aiven của GCP thì đỡ lăn tăn khoẳn setup + maintain
Reply With Quote
  #14  
Old 15-07-2019, 13:50
warlichvn warlichvn is offline
Senior Member
 
Join Date: 07-2009
Posts: 294
Re: Xây dựng hệ thống pubsub chịu tải cao

1- Theo mình đầu tiên bạn nên đưa kiến trúc hệ thống hiện tại lên đây thì mọi người sẽ dễ hiểu hơn.

2- Message Broker cũng có thể là 1 Single Point of Failure (SPoF) và đi kèm theo nhiều vấn đề maintenance khác nữa, thêm một hệ thống là thêm 1 cái phải maintain mà.

3- Nếu hầu hết các tác vụ của bạn đều là synchronous thì bạn lại phải apply synchronous pattern cho Broker.

4- Theo mình, bạn có thể monitoring & tweak các services trước (database query, algorithm...), sau đó có thể tối ưu các phương thức communicate giữa các services, ví dụ như sử dụng protobuf...

5- Ngoài ra, bạn còn có thể áp dụng tính năng auto scale giống như amz cloud có.
Reply With Quote
  #15  
Old 16-07-2019, 16:56
zzchaolegionzz's Avatar
zzchaolegionzz zzchaolegionzz is offline
Member
 
Join Date: 12-2009
Posts: 52
Re: Xây dựng hệ thống pubsub chịu tải cao

Mình không hiểu lắm chỗ các service gọi nhau, gọi chéo hay là thế nào, sync hay async? bác nên show một diagram tổng quát hệ thống hiện tại lên mọi người xem mới tư vấn thêm được. Đã dùng pub/sub thì không có chuyện gửi message lên, đợi service khác xử lý xong gửi lên pubsub rồi pubsub gửi lại cho bạn, chuyện này rất là fiction và không hiệu quả. Còn chuyện pub/sub chết rồi fallback bằng cách gọi thẳng qua service kia thì càng vô lý hơn, lỡ pubsub sống lại thì message có thể bị duplicate và tùm lum vấn đề cần maintain.

Em tưởng tượng vấn đề của bác là các service gọi sync lẫn nhau thì giải pháp scale là tăng phần cứng lên hoặc replica service ra thôi.

Quay lại chuyện Pub/Sub. Nó là async, bạn gửi message cho nó rồi quên đi, thằng khác sẽ có nhiệm vụ pull xuống và xử lý, như rabbitmq hay Kafka thì nó đều có cơ chế sync to disk để đảm bảo message của bác không bị mất, chưa kể sau khi service handle cái message nó mới ack về pub/sub thì lúc đó pub/sub mới clear message, không thể mất được. Và bắt buộc bác phải setup cluster pub/sub để tăng High Availability.
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +7. The time now is 08:25.
Steam Powered by vBulletin® 0.1 pre-alpha
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.