Tôi đang làm việc trên một dự án năng lượng. Trong trang web của tôi, có thể có các dịch vụ năng lượng được đăng ký với quy trình đăng ký qua các dịch vụ web. Ban đầu nó đã được 1 để bắt đầu với bây giờ 3 thêm đến để tích hợp.PHP Làm cách nào để triển khai nhiều dịch vụ web một cách đồng thời?
Trên trang đầu tiên tôi đã hiển thị các gói dựa trên mã zip. Bây giờ trên trang này tôi đã yêu cầu tất cả 4 nhà cung cấp năng lượng liệt kê các kế hoạch năng lượng.
Để yêu cầu mỗi dịch vụ tại một thời điểm theo cách tuần tự, chắc chắn sẽ mất nhiều thời gian hơn khi tôi lấy dữ liệu từ nguồn bên ngoài và đây là trang đầu tiên, vì vậy tôi không muốn làm chậm nó ở lần đầu tiên chỉ dụ.
Làm cách nào tôi có thể yêu cầu đồng thời tất cả các dịch vụ và thu thập dữ liệu từ mỗi dịch vụ và liệt kê dữ liệu trên trang cuối cùng.
Tôi biết nhiều người sẽ phàn nàn, nhưng bạn có nghĩ về đa luồng không? Từ một vài kết quả đầu tiên trên google, những kết quả này giống như những nơi tốt để bắt đầu ... http://villavu.com/forum/showthread.php?t=73623 và http://blog.motane.lu/2009/01/02/multithreading-in-php/hỗ trợ trông mỏng, nhưng điều này có thể tăng tốc mọi thứ bằng cách có tất cả 4 yêu cầu đi "một lần" - thats những gì tôi tưởng tượng ít nhất ... – blad
Điều gì về bộ nhớ đệm? Các kế hoạch này thay đổi thường xuyên như thế nào? Nó có phải là thời gian thực không? Tại sao không có một công việc cron mà cuộc thăm dò tất cả các dịch vụ mỗi 1-5 phút và lưu trữ các kết quả trong memcache hoặc một bảng HEAP MySQL? Sau đó, front-end của bạn có thể đọc từ bộ nhớ cache thay vì webservices. – Costa
@Costa Âm thanh là giải pháp tốt. Nhưng vấn đề là ngay cả khi tôi không biết có bao nhiêu mã zip và tần suất chúng thay đổi kế hoạch. Có thể có khoảng 50 nghìn mã zip. Nhưng tôi sẽ ghi nhớ điều này và thực hiện nó sẽ khả thi ở đâu. – Vins