Dịch vụ tải cao. Xà phòng vs Nghỉ ngơi


8

Tôi có nhiệm vụ tạo api cho Magento bằng cách sử dụng triển khai SOAP hoặc REST.

Tôi đã đọc rất nhiều về cả hai dịch vụ, cũng có kinh nghiệm với chúng. Nhưng không phải trong high-loaded projects.

Nhiệm vụ của dịch vụ này sẽ cung cấp thêm một số thông tin cho khách hàng thông qua SOAP hoặc REST. Tôi đã cấu hình cả hai và mọi thứ đều ổn.

NHƯNG, câu hỏi là điều gì sẽ tốt hơn nếu tôi có 100 khách hàng gọi dịch vụ của tôi mỗi giây, 200, 500, v.v.

Tôi biết về chi phí SOAP, nhưng nếu tôi sử dụng REST tôi cũng cần sử dụng oAuth, vậy cái gì sẽ rơi xuống trước?

Có kinh nghiệm nào trong đó không?

Câu trả lời:


11

Bạn sẽ cần xác định một trường hợp sử dụng rõ ràng để có câu trả lời cụ thể cho câu hỏi của bạn. Trừ khi chúng tôi có một trường hợp sử dụng bị mất ở đây, tôi muốn trả lời với lời khuyên chung về điều đó:

SOAP so với REST SOAP và REST là hai cách truy cập dịch vụ web. SOAP sử dụng XML cho các yêu cầu của nó. REST dựa vào các yêu cầu HTTP thông qua URL và do đó thực sự rất nhẹ so với SOAP.

(Dis-) Ưu điểm của SOAP:

  • dịch vụ web được xác định rõ
  • có các tiêu chuẩn được xây dựng sẵn (SOAPv1, SOAPv2, SOAPv2 WS-I)
  • hoạt động tốt trong môi trường doanh nghiệp (do tiêu chuẩn)
  • một số công cụ có thể được tự động hóa bằng cách sử dụng WSDL
  • hạng nặng so với REST

(Dis-) Ưu điểm của REST:

  • dễ sử dụng hơn
  • Linh hoạt hơn
  • đường cong học tập nhỏ hơn
  • hiệu quả / nhẹ so với SOAP
  • không có cấu trúc dịch vụ web được xác định (không có WSDL)

API Magento SOAP vs API REST

Xin lưu ý rằng không phải tất cả các tính năng đều được triển khai cho API REST.

Tôi đã tạo một tập lệnh thử nghiệm hiệu năng nhỏ, không có gì nhiều hơn các yêu cầu đăng nhập và endSession của 10x10 thông qua SOAP API v1. Không có hành động cụ thể đã được thực hiện. 1 yêu cầu mất từ ​​0,9 đến 1,4 giây với máy chủ web cục bộ của tôi.

Để so sánh với phần còn lại: Khi ứng dụng của bạn được ủy quyền (nơi bạn cần ủy quyền cho ứng dụng của mình một lần thông qua nhấp vào "ủy quyền"), chỉ mất vài giây để sẵn sàng thực hiện yêu cầu của bạn sau khi bạn đã nhận được mã thông báo và bí mật: 2.0 -3.0 * 10 ^ -5 giây cục bộ.

Kiểm tra năng suất

Để tiến hành kiểm tra hiệu suất mà cuối cùng có thể trả lời câu hỏi của bạn, bạn cần xác định các yêu cầu.

Sau đây sẽ là thú vị:

  • Họ có đăng nhập một lần và thực hiện nhiều hành động hay mỗi hành động chỉ đăng nhập cho một hành động?
  • Những loại yêu cầu nào họ thực hiện? Thêm / cập nhật sản phẩm, đặt hàng, ...?
  • API SOAP v1, API SOAP v2 hoặc SOAP v2 WSI vs REST?

Tài nguyên

Điều này cũng có thể thú vị đối với bạn:


1
Câu trả lời chính xác! Tôi cũng đã thực hiện một thử nghiệm và tôi đã có khoảng ~ 0,4 chỉ để thực hiện oAuth và gọi một số phương pháp không làm gì cả, chỉ để kiểm tra. Vì vậy, chi phí rất lớn, tôi đã viết dịch vụ REST trong khung khác, nhưng sử dụng Magento Db để thao tác dữ liệu. cảm ơn
sergio
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.