Kafka đã thay đổi hệ thống eCommerce trở nên mạnh mẽ như thế nào so với cách cũ

Sdílet
Vložit
  • čas přidán 11. 09. 2024

Komentáře • 64

  • @huyphanquang1780
    @huyphanquang1780 Před 2 měsíci +3

    Cái này là SAGA Pattern, việc implement SAGA bằng RabbitMQ hay Kafka cái nào cũng được , thậm chí dùng RabbitMQ còn tốt hơn vì nó có cơ chế ACK cũng như cơ chế broker rất clear. Nhưng SAGA lý thuyết thì hay chứ khi vào thực tế xử lý rollback distributed transaction chưa bao giờ là dễ dàng cả, nhất là ở bước Payment ấy

    • @QUANNGUYEN-hm7ql
      @QUANNGUYEN-hm7ql Před 2 měsíci

      tôi thấy saga chả khác gì truyền thống:))

    • @xenky0
      @xenky0 Před 2 měsíci +1

      Trong video này còn không áp dụng transactions thì lgi có saga ở đây :D

  • @hoangan_nguyen
    @hoangan_nguyen Před 2 měsíci +3

    hay quá anh ơi, anh apply kafka vào go project luôn nha anh

  • @TuanNguyen-gf7td
    @TuanNguyen-gf7td Před 2 měsíci

    Em đang tìm hiểu về Kafka mong anh ra sớm video ạ.

  • @hyy1856
    @hyy1856 Před 2 měsíci +9

    Mô hình này đảm bảo website nhỏ thôi bạn. Mô hình săn sale kiểu 7/7 shopee CCU lớn gần như lỗi hoàn toàn. Đền voucher sập cty.

    • @khangoduc8675
      @khangoduc8675 Před 2 měsíci

      vậy theo anh thì những hệ thống lớn họ sẽ dùng gì để handling event?

    •  Před 2 měsíci

      website nhỏ là nhỏ cở nào bạn ?

    • @hyy1856
      @hyy1856 Před 2 měsíci

      @@khangoduc8675 họ áp dụng cả cách của chủ kênh chia sẻ, nhưng về vấn đề order thì buộc phải đồng bộ. không thể run bất đồng bộ được. Như tiki họ dùng ring buffer

    • @hyy1856
      @hyy1856 Před 2 měsíci

      @@khangoduc8675 riêng khâu order vẫn phải dùng đồng bộ bạn nhé, còn làm sao để tối ưu khâu order đồng bộ mà nhanh thì có keyword là ring buffer. Các khâu khác thì có thể dùng như video bạn chủ hướng dẫn.

    • @phucnote3684
      @phucnote3684 Před 2 měsíci

      🤣

  • @TMonkey96
    @TMonkey96 Před 2 měsíci +2

    tính ra e làm Kafka đc hơn 3 năm Outsource cho Nokia mà e còn chưa biết hết mấy cái này nữa @@

    • @anonystick
      @anonystick  Před 2 měsíci +1

      Giờ biết mà. Cố lên nào

  • @sonhai4539
    @sonhai4539 Před 2 měsíci +2

    Anh có thể làm video so sánh NAST vs RMQ vs Kafka đc không anh❤

    • @anonystick
      @anonystick  Před 2 měsíci

      Anh chưa có cơ hội làm về NATS em à...

    • @ovothanh4778
      @ovothanh4778 Před měsícem +1

      Nats = kafka + rabbitmq + grpc, cực xịn xò nha

  • @anh.dinhhoangquang98
    @anh.dinhhoangquang98 Před 2 měsíci

    hóng tiếp ạ

  • @killerpt8493
    @killerpt8493 Před měsícem +1

    Mn cho e hỏi trong kiến trúc microservice thương mại điện tử thì khi đặt hàng sẽ kiểu tra số lượng hàng trc hay số tiền có trc ạ.Hay nó sẽ làm đồng thời kiểu bắn message đến 1 topic rồi cả 2 service sock và pay sẽ nhận và check cùng lúc ạ.nếu check đồng thời thì khi trả về nó đag ở 2 topic thì sao đồng bộ dc ạ

    • @anonystick
      @anonystick  Před měsícem

      25 - Section 25: Order Service Api (part 1) | czcams.com/video/rpoQjTm9In4/video.html
      26 - Section 26: Order service Part 2 | Tiếp đến là Redis chuyên sâu - czcams.com/video/mswayRA-870/video.html

  • @QuangNguyen-mn6yq
    @QuangNguyen-mn6yq Před 2 měsíci

    Anh làm về kiểm thử database được không ạ

  • @udemytiengviet956
    @udemytiengviet956 Před 2 měsíci

    A cho e hỏi với e có kinh nghiệm 4 năm Java , giờ đang muốn switch qua NodeJS. Học xong khoá NodeJS của a thì có vô dự án thực tế chiến được chưa ạ ? Thank a

    • @rawmetal3052
      @rawmetal3052 Před 2 měsíci

      Vãi ông middle java lại switch qua NodeJS làm gì làm Junior từ đầu down lương thì sao

  • @HoangPhung-hf7cs
    @HoangPhung-hf7cs Před 2 měsíci

    e thấy hay nha

  • @cunanh2112
    @cunanh2112 Před 2 měsíci

    anh ơi, để học khóa backend nodejs của anh cần nắm những kiến thức gì trước ạ, và trong khóa đấy có phải code FE không ạ ?

    • @letuan5069
      @letuan5069 Před 2 měsíci +1

      hiểu đọc hiểu code js, ko có code FE trong khoá này

    • @cunanh2112
      @cunanh2112 Před 2 měsíci

      @@letuan5069 e cảm ơn ạ

  • @thanhtuan357
    @thanhtuan357 Před 2 měsíci +1

    Chú cho con hỏi nếu một node bị lỗi thì có thể ACID của db sẽ ko đảm bảo thì làm thế nào ạ. Vd update cart OK nhưng update inventory thì Fail. Thì cái này có cách nào khác phục ko ạ. Với lại độ trễ khi nữa. Nếu response order trả về OK cái con gọi api lấy lại list cart thì có lúc nó sẽ không trả về đúng dữ liệu mới thì cái cách nào giảm thiểu hoac khắc phục ko ạ ( này mà mástẻr - slave thì độ trễ tăng nữa ). Xin chú giải đáp ạ

    • @anonystick
      @anonystick  Před 2 měsíci

      Trước tiên hiểu sâu về ACID: Section 110: LÀM CHỦ MYSQL - Nguyên tắc ACID, sự cô lập vs cơ chế trong transaction HIỂU SÂU
      czcams.com/video/ylidVS4HvtE/video.html

    • @anonystick
      @anonystick  Před 2 měsíci

      Sau đó lấy ví dụ thanh toán làm thực tế mức cô lập trong db

    • @VuTuanIT
      @VuTuanIT Před 2 měsíci +1

      Khi sử dụng kafka thì bạn phải đánh đổi ACID, thay vào đó phải handle tính nhất quán của dữ liệu thủ công, bạn có thể tìm hiểu các khái niệm eventually consistent, event sourcing, saga pattern. Những kỹ thuật này được thường được sử dụng để đảm bảo tính nhất quán dữ liệu

    • @thanhtuan357
      @thanhtuan357 Před 2 měsíci

      @@anonystick đạ cảm ơn chú.

    • @thanhtuan357
      @thanhtuan357 Před 2 měsíci +1

      @@VuTuanIT dạ cảm ơn Anh ạ. Cho em hỏi thêm với. Mấy app liên quan tới tiền như bank thì bắt buộc phải đảm bảo ACID hả Anh.

  • @ngonam22
    @ngonam22 Před 2 měsíci

    Anh ơi, cho e hỏi nếu dùng API gateway bắn mess tới Kafka xong Service tương ứng sẽ xử lý theo design Event Driven, thay vì Gateway forward trực tiếp tới service đó thì có ổn không a nhỉ?
    Các Gateway như Kong hay Traefik đều chỉ forward trực tiếp thôi. E cám ơn

    • @huytranuc8610
      @huytranuc8610 Před 2 měsíci

      gateway thì làm đúng việc của cái tên nó là điều hướng thôi b, để service bên trong đẩy vào kafka nếu cần

    • @ngonam22
      @ngonam22 Před 2 měsíci

      ⁠@@huytranuc8610tại nếu bạn dùng service đẩy thì lại tốn 1 step từ Gateway connect tới service đó. Này mình code thêm plugin tích hợp vào Gateway cho nó đẩy thẳng vào Kafka, thằng service phụ trách chỉ cần subscribe mess thôi. Làm như này thì Loose coupling rất cao và cũng dễ scale nữa, Kafka nó tự handle cả rồi
      Đó là cái mới mà mình đọc của mo hinh Event Driven API (có thể mới với mình thôi 😂)

  • @DVHcoding
    @DVHcoding Před 2 měsíci +1

    Nên sử dụng kafka hay rabbitMQ vậy a

    • @nguyenhoanglong9970
      @nguyenhoanglong9970 Před 2 měsíci

      Theo mình thì việc sử dụng Kafka hay RabbitMQ phụ thuộc vào yêu cầu của b:
      - Nếu ứng dụng của bạn đơn giản, chỉ cần giao tiếp đơn giản giữa các service với nhau bằng việc gửi các tin nhắn cơ bản thì theo mình rabbit quá dư thừa để bạn sử dụng.
      - Còn bạn cần xử lý dữ liệu lớn, hệ thống bạn phức tạp hay đơn giản là bạn muốn làm quen với một công nghệ mới hơn thì Kafka là lựa chọn dành cho bạn
      ===> Chung quy lại thì để trả lời được câu hỏi này bạn phải phân tích được là mình muốn gì trước r bám sát vào ưu điểm từng thằng r mình quyết định thôi ạ

    • @babayaga3303
      @babayaga3303 Před 2 měsíci

      1 bên là message phức tạp (rabbitMQ) 1 bên là lượng message lên hàng tỷ

  • @n0osp0m123
    @n0osp0m123 Před 2 měsíci

    dạ mô hình này mình đang follow kiểu pub sub thì a cho em hỏi nếu như mình dùng cluster nhiều node nhiều pod, instance nó cùng sub thì mình xử lý duplicate như thế nào anh ạ?

    • @tamleminh755
      @tamleminh755 Před 2 měsíci

      nhiều node nhiều pod là sao nhỉ. Ý của bạn là pod của bạn scale trong cùng 1 instance hay sao ?

    • @xenky0
      @xenky0 Před 2 měsíci

      Kafka nó tự lo vấn đề này rồi, tùy vào cách sử dụng, nó mạnh lắm, tìm hiểu consumer group, topic, và partition nhé

    • @n0osp0m123
      @n0osp0m123 Před měsícem

      @@tamleminh755 đúng rùi ạ, nhiều pod của service A chẳng hạn

    • @n0osp0m123
      @n0osp0m123 Před měsícem

      @@tamleminh755 nhiều pod của 1 service ấy ạ, mà service ấy là consumer, thí dụ default là 1 khi mà scale lên 3 4 pod thì mình xử lý ntn ấy ạ

    • @kira0992
      @kira0992 Před 8 dny

      @@n0osp0m123 cho các pod vào trong cùng consumer group, kafka nó sẽ tự distribute messages đến các pod, ko bị duplicate khi consume message đâu.

  • @ArtLifeDev
    @ArtLifeDev Před 2 měsíci

    ❤❤❤❤

  • @devcui
    @devcui Před 2 měsíci +1

    Thế còn click house thì sao a nhỉ nó với cái Kafka này cái nào ngon hơn

    • @thientranhoang2658
      @thientranhoang2658 Před měsícem

      clickhouse tính chất nó là database mà bác, nó không chuyên về queue như cái này

  • @user-nv1sm5qx5o
    @user-nv1sm5qx5o Před 2 měsíci

    anh lam khoa hoc java anh oi

  • @jan9102
    @jan9102 Před 2 měsíci

    NATS thì sao bác

    • @anonystick
      @anonystick  Před 2 měsíci

      Anh chưa có cơ hội làm về NATS em à...