Đây là một câu hỏi phỏng vấn: thiết kế một back-end phân phối để tự động hoàn thành.Back-end để tự động hoàn thành
Tôi sẽ trả lời như sau:
Tự động hoàn thành là tìm kiếm trong từ điển theo hậu tố nhất định. Từ điển có thể được tổ chức dưới dạng trie. Từ điển được xây dựng từ các truy vấn thường xuyên nhất nhưng đó là một câu chuyện khác.
Bây giờ tôi giả định từ điển không thay đổi thường xuyên (ví dụ: mỗi ngày một lần thay vì mỗi mili giây). Do đó, chúng tôi chỉ có thể sao chép từ điển trên một số máy chủ xử lý các truy vấn tự động hoàn thành (ví dụ: với cân bằng tải và chính sách xoay vòng).
Chúng ta cũng nên nghĩ về từ điển nhưng đây cũng là một câu chuyện khác.
Có hợp lý không? Tui bỏ lỡ điều gì vậy?
câu hỏi Kiến trúc thực sự nên được hỏi cô ấy e: http://programmers.stackexchange.com/ Tôi không thực sự quan tâm nhưng một số làm. –