Tôi cần giao diện với API của bên thứ 3. Với API này, tôi tạo một yêu cầu GET từ bên trong trình duyệt của người dùng cuối và nhận được phản hồi XML. Dữ liệu này được sử dụng trong một ứng dụng dựa trên trình duyệt nơi người dùng có thể tìm kiếm thông qua nó, sử dụng nó để đưa ra quyết định, v.v. Vấn đề chính là hầu hết các trình duyệt đã khóa sử dụng XML tên miền chéo, vì vậy tôi không thể đơn giản nhận được XML từ API.
Tuy nhiên, dữ liệu tổng thể về cơ bản được chia thành hai bộ.
- Tập dữ liệu đầu tiên là công khai và chỉ cần được cập nhật thường xuyên, do đó, nó có thể được lưu trong bộ nhớ cache cho tất cả người dùng ở phía máy chủ, làm giảm lưu lượng đáng kể.
- Nhóm dữ liệu thứ hai là riêng tư và cá nhân cho mỗi người dùng. Dữ liệu này cũng được cập nhật trong API thường xuyên hơn. Điều này dẫn đến bộ nhớ đệm sẽ kém hiệu quả hơn nhiều.
Vì lý do khả năng mở rộng, tôi muốn giữ cho máy chủ tải nhỏ nhất có thể.
Tôi thấy hai lựa chọn trước tôi:
- Cung cấp một proxy có thể được sử dụng để định tuyến các yêu cầu XML đến máy chủ của bên thứ 3 và trực tiếp qua lại giữa API của khách hàng và bên thứ ba.
- Yêu cầu máy chủ thực hiện chuyển đổi từ XML sang JSON và loại bỏ thông tin không cần thiết. Điều này về cơ bản có nghĩa là tạo một API mới cho máy chủ của chúng tôi, nó chuyển thành các yêu cầu từ API của bên thứ 3
Điều gì sẽ là cách tốt nhất để cung cấp dữ liệu cho người dùng? (Không phải là một trong hai tùy chọn)