Memcache được phân phối như thế nào?


14

Tôi đã có memcache chạy trên 5 máy chủ web, tất cả đều nằm trong danh sách máy chủ lưu trữ bằng php và được cân bằng tải ở mặt trước. Vì vậy, vì memcached được cho là được phân phối, máy khách php sẽ quyết định nút nào sẽ ghi các cặp khóa / giá trị và giữ một bản ghi để truy xuất sau đó từ cùng một nút phải không?

Hoặc là mã máy khách php không đủ thông minh để làm điều đó và thay vào đó, nó ghi dữ liệu cho tất cả các máy chủ và sau đó chụp ngẫu nhiên một cái từ nhóm để đọc từ đó?

Nhưng nếu nó làm điều đó; ghi vào tất cả các trường hợp trong danh sách máy chủ / nhóm; Vậy mục đích của một công cụ như http://repcached.sourceforge.net/ là gì để sao chép dữ liệu để dự phòng.

Lý do tôi hỏi là bởi vì tất cả các máy chủ cân bằng tải đang chạy nó và nếu nó thực sự ghi vào tất cả các máy chủ trong nhóm thì có vẻ như nó đánh bại mục đích của nó được phân phối và vì vậy tôi chỉ nên buộc php rút khỏi máy chủ trong danh sách lưu trữ đó là localhost.

Câu trả lời:


16

Thư viện Memecache chịu trách nhiệm gửi yêu cầu đến đúng máy chủ. Thư viện sử dụng danh sách bạn cung cấp để gửi yêu cầu đến các máy chủ khác nhau và memcache không sao chép.

Tham khảo bài viết trên tạp chí Linux . Nó giải thích cách memcache hoạt động chi tiết hơn.


Bài viết tuyệt vời chỉ là những gì tôi cần, cảm ơn Sameer. Tôi cũng tìm thấy cái này cực kỳ hữu ích: code.google.com/p/memcached/wiki/NewConfiguringClient
Mike

Lưu ý rằng memcache phân vùng dữ liệu trên nhiều máy tính dựa trên khóa, điều đó có nghĩa là có thể phân phối công việc đều trên không gian khóa sao cho một máy không bị ảnh hưởng bởi tất cả lưu lượng nếu tất cả chỉ dành cho một khóa.
lee penkman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.