Thiết kế microservices với nodejs và redis pub sub ai cũng hiểu | REDIS VS NODEJS MICROSERVICES
Hướng dẫn triển khai mô hình microservices sử dụng node.js và Redis PUB SUB người mới học cũng dễ hiểu và thự hành nhanh với ví dụ giống như cách triển khai của các trang TMĐT lớn hiện nay.
Video gồm 3 phần:
00:00 Giới thiệu về mô hình microservices là gì?
03:50 Tại sao redis lại nhanh và tại sao không sử dụng thay thế MySQL?
08:30 Sử dụng Redis-cli thực hành nhanh về PUB và SUB trong redis
14:00 Triển khai mô hình microservices với node.js, express.js và redis
#redis #microservices #nodejs
Tham khảo:
Sắp bị đuổi việc vì hệ thống chậm lấy shopee làm ví dụ ➜ anonystick.com/blog-developer...
Message Queue đã giúp tôi thoát khỏi cảnh đuổi việc thế nào? ➜ anonystick.com/blog-developer...
Triển khai microservice với nodejs, mongoose và rabbitmq ➜ • Nodejs microservice ra...
🚩 Subscribe ➜ / tipsjavascript
✅ Follow Me:
Blog: anonystick.com
Facebook: / tipjs
KZread: / tipsjavascript
Пікірлер: 52
"Nếu bạn không thể giải thích vấn đề một cách đơn giản và dễ hiểu, thì bạn chưa hiểu vấn đề ~ Albert Einstein" , nghe anh gỉai thích cuốn quá chừng, thường em hay xem nhiều video của nhiều kênh nhưng có khi cuối cùng cũng không hiểu vấn đề nó là gì luôn, anh giải thích dễ hiểu thật sự ạ
cảm thấy kênh này thực sự là chia sẻ kiến thức một cách cởi mở và mong muốn đóng góp tới cộng đồng, chứ k có bày đặt câu view nhảm nhí rồi mang mấy cái AI, ML ra lòe người mới như các kênh khác Thực sự respect chủ kênh Chúc kênh ngày càng phát triển
@anonystick
2 жыл бұрын
Phản hồi của Trung Hiếu là động lực mạnh đây. Cảm ơn bạn rất nhiều!
con đang học mấy bước cơ bản về microServices mà gặp bài của thầy là thấy quá ổn luôn !!!
rất hay và bổ ích, hóng anh ra video nhiều hơn :D
hay quá, trước giờ e chỉ biết dùng restful và grpc để tương tác giữa các services
video rất bổ ích ạ , mong a sớm ra video về kiến trúc mới của tw con chĩm xanh , a Musk công bố ạ
Cám ơn anh đã chia sẻ kiến thức bổ ích :3
kênh youtube hay nhất về lập trình backend mà tôi từng xem và đăng ký!
@anonystick
8 ай бұрын
Cảm ơn bro...
dễ hiểu quá anh ạ
rất hay ạ
Mong A làm về config docker trong thực tế
Hello a, cảm ơn a bài chia sẻ hữu ích. Em có 1 câu hỏi đó là nếu e dùng pm2 để run thì 1 service của e sẽ có nhiều cluster. Khi subcribe thì tất cả các cluster đều nhận message. Cho e hỏi là làm thế nào để 1 cluster nhận message và xử lý rồi thì các các cluster khác sẽ không xử lý nữa ạ. Thanks a.
chào anh . nếu em có nhiều server trong hệ thống chạy microservices thì redis có chạy được ko anh
Cảm ơn anh rất nhiều
@anonystick
Жыл бұрын
Ok em
Cháu chào chú. Chú có thể làm video chia sẻ về cấu trúc folder nodejs như thế nào để dự án có thể dễ scale-up được không ạ. Cháu cảm ơn.
@anonystick
2 жыл бұрын
Có rồi nha. Video mới nhất.
nếu trong quá trình handle ở các service bị lỗi thì phía frontend cũng phải sub 1 channel để nhận về error đúng ko anh?
@anonystick
2 жыл бұрын
Đúng rồi.Nhưng làm vậy cực lắm, rabbitmq sẽ tốt hơn vì có cơ chế ack.
Cho tôi hỏi khi làm redis dưới local, vậy khi deploy lên host có cần gì ko ạ? Thanks
@anonystick
2 жыл бұрын
Không cần, chỉ cần thay đổi host connect thôi.
Như này mình có nhiều server microservices thì giải quyết như nào anh ạ? Mình sẽ tạo 1 server riêng cho redis à anh?
@anonystick
Жыл бұрын
No. Redis just One :)
Hi ad cho hỏi Khi thiết kế micro service cho Back end với nodejs thì nên chọn express hay nestjs ạ.? Thanks
@anonystick
2 жыл бұрын
Vn thì Express nha bạn.
@cnv1851
2 жыл бұрын
@@anonystick cái này là do cộng đồng express ở VN đông hay sao ad ạ
trong trường hợp có nhiều request cùng 1 lúc thì cũng có nghĩa là sẽ có nhiều public mesage => các service sẽ handle ntn vậy anh, nó sẽ chạy tuần tự từng message hay sao ạ?
@anonystick
2 жыл бұрын
Nhiều thì scale nó lên, redis có support Cluster nha Sếp ơi!
@uchung2890
2 жыл бұрын
@@anonystick Anh làm video giải thích cluster, process, thread qua example với ạ, em cảm ơn
@phuocminh3896
2 жыл бұрын
@@anonystick cảm ơn anh đã cho em biết thêm thông tin, nếu anh có thế có thêm bài hướng dẫn cho chỗ này nữa thì hay nè anh, em nghĩ cũng sẽ có nhiều bạn cũng chưa có nhiều kinh nghiệm chỗ này.
Bị lỗi connect redis connect ECONNREFUSED ::1:6379 thầy ơi
@anonystick
11 ай бұрын
redis version 3.1.2 thôi hen
Cho em hỏi nếu subcribe handler bị lỗi thì sao ạ? TH payment service chạy sai nhưng response vẫn trả về thankyou
@ledinh3881
2 жыл бұрын
Cho em hỏi cách này khác gì mình gọi qua email service và payment service một cách synchronous ạ
@anonystick
2 жыл бұрын
@@ledinh3881 Anh chưa rõ câu hỏi của em nhưng ý em là Pub và Sub khác gì so với gọi API đúng không em?
@ledinh3881
2 жыл бұрын
@@anonystick dạ, câu hỏi thứ 1 là trường hợp payment service nó chạy fail thì mình xử lý như thế nào ạ. câu hỏi thứ 2 là khi tạo order thì tại sao mình không gọi qua email service và payment service một cách synchronous (nó vẫn đảm bảo chỉ tốn 100ms). Em cảm ơn anh
@anonystick
2 жыл бұрын
@@ledinh3881 Câu 1 - trường hợp 1 service chạy failed em nên thông báo cho bên khác được biết. Nếu dùng redis em có thể chạy lại pub và sub với channel khác. Nhưng em nên sử dụng rabbitmq có cơ chế ack. Câu 2 - Mô hình PUB SUB này dành cho kiến trúc lớn. Ví dụ một Room của em có vài trăm người, thì khi em nhắn một phát là đến tất cả những người online còn offline thì nhận được mail. Thì đó là trường hợp này. Chứ chạy khối lượng nhỏ thì suy nghĩ của em không sai, nhưng lớn nhu anh nói thì nó sẽ khác nha em. Chúc em thành công nhé!
@ledinh3881
2 жыл бұрын
@@anonystick dạ cảm ơn anh nhiều ạ , ở câu 1, theo như code thì em thấy, nếu payment service chạy fail thì tại sao kết quả vẫn trả về thành công ạ
Theo anh thì với nodejs mình xử dụng message broker nào như kafka, rabbit ạ? Sử dụng redis có ổn khong ạ?
@anonystick
2 жыл бұрын
Rabbit nha em. Redis về pub sub chưa đủ lớn
@duyhoangta7988
2 жыл бұрын
@@anonystick Cám ơn a về những chia sẻ thực tế và những kinh nghiệm làm việc của a ạ. Chúc a thật nhiều sức khỏe để ra những video bổ ích hơn ạ.
@phamha752
2 жыл бұрын
@@anonystick cho em hỏi Redis về pub sub apply cho 1 ứng dụng nhỏ có ổn k anh? Vì em chưa dùng thực tế nên muốn tham khảo ý kiến của anh!
@phamha752
2 жыл бұрын
@@anonystick Em thắc mắc thêm là nếu có 1k cái cùng gửi 1 lúc thì thằng redis nó có handle nổi k anh? Mong anh giải đáp giúp!
@anonystick
2 жыл бұрын
@@phamha752 Ổn em. Nhỏ không vấn đề, và hợp lý khi nhỏ và dùng với redis.
Em bị lỗi như thế này mà fix mãi k được, mn có cách nào giúp em không ạ? ode_modules\@redis\client\dist\lib\client\index.js:415 return Promise.reject(new errors_1.ClientClosedError()); ^ ClientClosedError: The client is closed at Commander._RedisClient_sendCommand
@nguyenvanhoc9441
Жыл бұрын
hạ version của redis xuống. hoặc bạn có thể dùng npm i redis@3.1.2 là sẽ hết lỗi nhé.