Sản phẩm đã sửa trong trang quản trị nhưng ô tìm kiếm vẫn trả tên cũ. Nếu gọi mọi tình huống đó là “cache”, đội kỹ thuật có thể xóa nhầm lớp mà không tìm ra điểm chậm. Chỉ mục tìm kiếm là một bản phục vụ truy vấn, có những mốc xác nhận khác nguồn dữ liệu chính.
Ghi xong nguồn chưa phải tìm thấy qua truy vấn
Tách ba mốc: giao dịch ở nguồn đã được xác nhận, bộ lập chỉ mục đã nhận thay đổi, và truy vấn tìm kiếm đã quan sát được phiên bản mong muốn. Nếu pipeline có hàng đợi, còn có thời gian chờ và xử lý ở giữa. Một phản hồi thành công từ bước ghi không mặc định là lời hứa mọi màn hình đọc sẽ thấy ngay.
Elastic giải thích near real-time search bằng cơ chế refresh làm thay đổi khả kiến với tìm kiếm. Điều này khác một lỗi chưa phát sự kiện hoặc lập chỉ mục thất bại. Bài viết dùng Elastic như ví dụ về tính khả kiến, không khẳng định Onter hay mọi hệ thống tìm kiếm dùng cùng cơ chế.

Chẩn đoán bằng một bản ghi và một truy vấn cụ thể
Chọn ID đã sửa, phiên bản nguồn và truy vấn cần kiểm. Ghi điều kiện lọc, quyền người dùng và thời điểm; một truy vấn khác bộ lọc có thể không bao giờ trả bản ghi dù chỉ mục đúng. Đừng chỉ tìm theo tên cũ rồi dùng việc không thấy tên mới làm bằng chứng chưa đồng bộ.
Cũng cần biết truy vấn đang đi vào index hoặc alias nào. Giao diện có thể đọc một phiên bản chỉ mục khác công cụ quản trị. Nếu bản ghi đã vào đúng index nhưng kết quả vẫn cũ, kiểm lớp ứng dụng và cache phản hồi sau đó; không suy mọi độ trễ đều là refresh.
| Bằng chứng | Nhánh điều tra |
|---|---|
| Nguồn chưa có phiên bản mới | Đường ghi hoặc đọc nguồn |
| Nguồn mới, pipeline chưa nhận | Phát/nhận thay đổi |
| Index nhận, search chưa thấy | Khả kiến và đường truy vấn |
| Search trực tiếp mới, giao diện cũ | Ứng dụng hoặc cache phía sau |
Ví dụ giả định: sửa tên nhưng giữ ID
Bản ghi P-17 đổi từ tên A sang B ở phiên bản 8. Sổ quan sát ghi source_version=8, index_version=7 và truy vấn giao diện còn trả A. Đây là dấu hiệu đường cập nhật chỉ mục chưa tới phiên bản mong muốn, nhưng chưa chỉ ra nguyên nhân. Sau khi index_version=8, truy vấn vẫn có thể chưa thấy do cơ chế khả kiến hoặc đang gọi sai alias.
Khi kiểm lại, giữ cùng ID và điều kiện. Không tạo một bản ghi mới chỉ để làm tên B xuất hiện: như vậy bạn thay bài toán cập nhật thành bài toán thêm mới và có thể tạo trùng. Số phiên bản và tên trong ví dụ chỉ là mô phỏng biên tập, không phải phép đo độ trễ của Onter.

Giao diện cần hứa đúng mức nhất quán
Sau khi lưu, một màn hình chi tiết có thể đọc nguồn có thẩm quyền trong khi ô tìm kiếm chờ cập nhật. Nếu chọn cách đó, phải giải thích rõ hai trạng thái. Người dùng cần biết thao tác đã lưu hay chưa, có cần chờ tìm kiếm và có thể tiếp tục việc gì. Đừng hiển thị “thất bại” chỉ vì một bản phục vụ đọc chưa cập nhật.
Với thao tác yêu cầu đọc ngay sau ghi, kỹ thuật cần chọn cơ chế phù hợp, đánh giá chi phí và giới hạn. Không gọi refresh toàn bộ một cách thường trực để che một pipeline thiếu tin cậy. Hành vi đúng phụ thuộc engine, phạm vi index và yêu cầu sản phẩm; một hướng dẫn chung không thay được khảo sát.
Đo độ trễ có nguồn, không đặt SLA từ cảm giác
Sổ độ trễ nên có ID, source_version, thời điểm xác nhận nguồn, thời điểm pipeline nhận, phiên bản index và truy vấn kiểm chứng. Với dữ liệu đã xóa hoặc đổi quyền, độ trễ còn có hậu quả khác chậm đổi tên: cần quy tắc bảo vệ không để bản phục vụ đọc tiết lộ dữ liệu ngoài quyền. Truy vấn vẫn phải chịu kiểm soát quyền theo thiết kế.
Chọn cửa sổ và tập thay đổi đại diện để đo. Phân biệt mẫu bị lỗi với mẫu đang chờ; không loại các mẫu chậm ra khỏi thống kê để điểm đẹp hơn. Các ngưỡng cảnh báo hoặc cam kết chỉ được xác lập sau khi owner hiểu dữ liệu và chi phí, chưa có con số mặc định nào trong bài này.
Đặt mỗi lớp về đúng owner
Transactional outbox giải quyết ranh giới ghi nguồn và phát sự kiện, không tự bảo đảm truy vấn thấy ngay. Với bản ghi bị xóa, tín hiệu xóa trong đồng bộ tăng dần cần được giữ đến bản phục vụ đọc. Khi trao đổi phạm vi phần mềm với Onter, hãy chuẩn bị một ID đã ẩn thông tin cùng chuỗi phiên bản và truy vấn; một trường hợp truy được nguồn thường hữu ích hơn báo cáo chung “tìm kiếm hay chậm”.

