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

  • @hangtran4863
    @hangtran48632 жыл бұрын

    "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ự ạ

  • @trunghieule6669
    @trunghieule66692 жыл бұрын

    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

    @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!

  • @BackendNestJs
    @BackendNestJs8 ай бұрын

    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 !!!

  • @tungnguyen3551
    @tungnguyen35512 жыл бұрын

    rất hay và bổ ích, hóng anh ra video nhiều hơn :D

  • @tieutantan9562
    @tieutantan9562 Жыл бұрын

    hay quá, trước giờ e chỉ biết dùng restful và grpc để tương tác giữa các services

  • @damanhhao8683
    @damanhhao8683 Жыл бұрын

    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ố ạ

  • @TuanTran-zc5ei
    @TuanTran-zc5ei2 жыл бұрын

    Cám ơn anh đã chia sẻ kiến thức bổ ích :3

  • 8 ай бұрын

    kênh youtube hay nhất về lập trình backend mà tôi từng xem và đăng ký!

  • @anonystick

    @anonystick

    8 ай бұрын

    Cảm ơn bro...

  • @dungam9402
    @dungam94022 жыл бұрын

    dễ hiểu quá anh ạ

  • @truonghung9618
    @truonghung9618 Жыл бұрын

    rất hay ạ

  • @tungkiz
    @tungkiz Жыл бұрын

    Mong A làm về config docker trong thực tế

  • @diepnguyenvan4669
    @diepnguyenvan46692 жыл бұрын

    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.

  • @vuduyanh7791
    @vuduyanh7791 Жыл бұрын

    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

  • @r3zagrats
    @r3zagrats Жыл бұрын

    Cảm ơn anh rất nhiều

  • @anonystick

    @anonystick

    Жыл бұрын

    Ok em

  • @nguyenlinh-pj8bp
    @nguyenlinh-pj8bp2 жыл бұрын

    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

    @anonystick

    2 жыл бұрын

    Có rồi nha. Video mới nhất.

  • @votuan4750
    @votuan47502 жыл бұрын

    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

    @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.

  • @ryugaryuzaki2728
    @ryugaryuzaki27282 жыл бұрын

    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

    @anonystick

    2 жыл бұрын

    Không cần, chỉ cần thay đổi host connect thôi.

  • @hiennguyenduy268
    @hiennguyenduy268 Жыл бұрын

    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

    @anonystick

    Жыл бұрын

    No. Redis just One :)

  • @cnv1851
    @cnv18512 жыл бұрын

    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

    @anonystick

    2 жыл бұрын

    Vn thì Express nha bạn.

  • @cnv1851

    @cnv1851

    2 жыл бұрын

    @@anonystick cái này là do cộng đồng express ở VN đông hay sao ad ạ

  • @phuocminh3896
    @phuocminh38962 жыл бұрын

    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

    @anonystick

    2 жыл бұрын

    Nhiều thì scale nó lên, redis có support Cluster nha Sếp ơi!

  • @uchung2890

    @uchung2890

    2 жыл бұрын

    @@anonystick Anh làm video giải thích cluster, process, thread qua example với ạ, em cảm ơn

  • @phuocminh3896

    @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.

  • @namhoai5282
    @namhoai528211 ай бұрын

    Bị lỗi connect redis connect ECONNREFUSED ::1:6379 thầy ơi

  • @anonystick

    @anonystick

    11 ай бұрын

    redis version 3.1.2 thôi hen

  • @ledinh3881
    @ledinh38812 жыл бұрын

    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

    @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

    @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

    @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

    @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

    @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 ạ

  • @duyhoangta7988
    @duyhoangta79882 жыл бұрын

    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

    @anonystick

    2 жыл бұрын

    Rabbit nha em. Redis về pub sub chưa đủ lớn

  • @duyhoangta7988

    @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

    @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

    @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

    @anonystick

    2 жыл бұрын

    @@phamha752 Ổn em. Nhỏ không vấn đề, và hợp lý khi nhỏ và dùng với redis.

  • @ttun9815
    @ttun9815 Жыл бұрын

    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

    @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é.