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
- VD: có 4 request, có 3 node