Đặc điểm và tính ứng dụng của giao thức Gossip trong hệ thống phân tán

Поделиться
HTML-код
  • Опубликовано: 6 дек 2020
  • ---
    Xin cảm ơn nhà tài trợ POPS (popsww.com/en/) đã tài trợ kinh phí thực hiện video này.
    ---
    - Speaker: Nguyễn Anh Tú - Staff Software Engineer @ Axon Vietnam
    - Ngôn ngữ: Tiếng Việt
    - Slide: www.slideshare.net/GrokkingVN...
    - Giới thiệu: Gossip là một giao thức trao đổi thông tin phổ biến trong các hệ thống phân tán giúp cho các máy chủ duy trì trạng thái đồng nhất với nhau cũng như thực hiện các nhiệm vụ có chủ đích. Điểm mạnh của nó là khả năng phát tán thông tin ở tốc độ cao cũng như không hề có single point of failure. Trong bài talk này, Anh Nguyễn Anh Tú, thành viên của Grokking sẽ chia sẻ một số thông tin về giao thức Gossip cũng như điểm qua một vài ứng dụng thực tiễn của nó.
    - Về diễn giả: Anh Nguyễn Anh Tú hiện đang là Staff Software Engineer tại Axon Vietnam, đồng thời là thành viên của Grokking Vietnam.
    ---
    Timeline:
    00:19 - Giới thiệu diễn giả
    03:27 - Giới thiệu gossip protocol
    08:27 - Gossip basic
    09:16 - Gossip properties
    12:18 - Advantages of gossip
    14:19 - Gossip modeling
    19:22 - Gossip simulator
    27:23 - Gossip Applications
    34:51 - Cluster membership
    39:20 - SWIM - Scalable Weakly-consistent Infection-style Process Group Membership
    01:00:55 - Q&A
    ---
    Tham khảo thêm về Grokking Techtalk: www.grokking.org/events/techt...
  • НаукаНаука

Комментарии • 3

  • @TruongHoang-du9if
    @TruongHoang-du9if 3 года назад +2

    Gossip protocol thú vị quá. Không biết ở Việt Nam có công ty nào áp dụng trực tiếp những kiến thức này không?

  • @quangtung2912
    @quangtung2912 3 года назад +2

    Bài talk này nhìn chung khá là ổn nhưng cảm giác người nói và người hỏi không biết về bài toán consensus mà raft hay paxos giải quyết chăng?
    Vì ví dụ như raft cũng không hoạt động nếu có yếu tố Byzantine.
    Thứ hai nữa là nói về mô hình SIR mà không hề nói đến một cái quan trọng hay được làm trong thực tế là anti-entropy.
    Vì thuật toán dừng của mô hình SIR thường sẽ vẫn xảy ra case một số node có thể không có dữ liệu mới nhất. Nên thông thường sẽ được lồng với một thuật toán khác theo mô hình SI, hay còn gọi là simple epidemic, với tần suất chạy ít hơn, thường sử dụng pull hoặc push/pull để loại bỏ những node như thế. Nếu không làm vậy thì không còn là Strong Completeness nữa.
    Còn về việc khi nào chuyển từ I sang R thì có thể có nhiều kiểu:
    - Kiểu cần feedback hoặc không (kiểu blind).
    - Kiểu dùng ngẫu nhiên (coin) hoặc kiểu dùng counter ví dụ như đếm xem đã có bao nhiêu message bị redundant (với kiểu dùng feedback) như nói ở trên.
    Consul dùng Serf, Serf dùng memberlist.
    Nhưng etcd chỉ dùng raft consensus, không thấy nhắc tới gossip nào cả??
    Như memberlist của hashicorp như mình đọc source code dùng kiểu blind counter thì phải, gửi đi ngẫu nhiên k thằng, node nào nhận message mà detect message đó update lại state thì mới tiếp tục gửi message đó ra k node ngẫu nhiên khác.

    • @Ngtuna2011
      @Ngtuna2011 3 года назад +4

      Xin chào Quang Tùng, mình là người present bài này. Sorry mình giờ mới reply được. Phần consensus bạn đề cập ở đây mình không hiểu mục đích là gì ? Vì gossip và consensus bản chất là không liên quan gì tới nhau cả. Ví dụ mình sử dụng trong bài là SWIM của Hashicorp với chức năng chính là group membership và failure detection, không có gì liên hệ với consensus cả.
      Phần về SIR kết hợp với Anti-entropy thì cám ơn bạn đã bổ sung. Phần đó trong bài mình cũng nói lướt qua và có mô tả pseudo-code cho mô hình Push-pull, nhưng đúng là không cover ý về loại bỏ các node bị outdated. Mô hình dùng thực tế mình thấy thường là Push-Pull để các node có thể exchange data với các peer ngẫu nhiên.