[TIL – ElasticSearch] Distributed Search Excution hoạt động thế nào? Bouncing result problem là gì?

Bài này yêu cầu bạn cần hiểu 1 số khái niệm cơ bản trong ES như node, shard. Nếu chưa hiểu bạn có thể đọc bài:

[ElasticSearch] Có gì ở bên trong một cluster (Life inside a cluster)

Bài này tự đọc lại ba lần, viết lại 5 lần mà thấy vẫn hơi khó hiểu. Nhưng chả biết sửa thế nào nữa nên cứ publish vậy :))
Anh em đọc cho xin góp ý nhé 😉

Kiến thức cơ bản

  • Dữ liệu được lưu rải rác ở các shard trong các node => khi search cần search trên tất cả các node.
  • Request vào các node được ES tự động chia đều ra để cân bằng tải theo thuật toán xoay vòng (hay còn gọi là round robin)
    • VD: có 4 request, có 3 node
      • node 1: nhận req 1
      • node 2: nhận req 2
      • node 3: nhận req 3
      • node 1: nhận req 4
Tiếp tục đọc