2012-07-04 70 views

Trả lời

54

Đây là một câu hỏi khá khác nhau vì có rất nhiều loại cổng khác nhau (và giải pháp quản lý). Theo nghĩa rộng nhất, cổng là bộ lọc ở đâu đó trong ngăn xếp web của bạn (do bạn hoặc bên thứ ba lưu trữ) để lọc lưu lượng API của bạn theo cách khác nhau. Một số tính năng lọc có thể xảy ra:

  • Trong CDN nếu bạn đang sử dụng bộ lọc trước khi nó đến máy chủ của bạn.
  • Trong một proxy được lưu trữ bởi bên thứ ba mà bạn chuyển hướng lưu lượng truy cập qua.
  • Trong các máy chuyên dụng trong đám mây của riêng bạn hoặc cơ sở hạ tầng cục bộ chạy phần mềm proxy (bên thứ ba, nguồn mở hoặc trong nhà).
  • Trong một phần cụ thể trong ngăn xếp ứng dụng của bạn trước khi lưu lượng truy cập được xử lý chính.

Thông thường các loại chức năng mà cổng có thể cung cấp có thể bao gồm: kiểm soát truy cập (lọc lưu lượng để chỉ lưu lượng truy cập được xác thực/ủy quyền), giới hạn tốc độ (hạn chế số lượng lưu lượng truy cập có thể được gửi bởi mỗi khách hàng của API) , phân tích/ghi số liệu và ghi nhật ký (theo dõi những gì đang xảy ra trên API), lọc bảo mật (kiểm tra nội dung trên các thư đến để tấn công, chuyển hướng/định tuyến lưu lượng truy cập) (gửi lưu lượng truy cập đến các điểm cuối khác nhau trong cơ sở hạ tầng của bạn tùy thuộc vào người gửi hoặc yêu cầu

Cổng thường hoạt động như một bộ mô-đun và bộ lọc xử lý lưu lượng khi lưu lượng truy cập ở tốc độ cao và bạn thường có thể bật các mô-đun/bộ lọc đó bạn cần và kiểm soát các thông số của chúng. Rõ ràng là có một vài cách khác nhau để thực sự thực hiện + các nhà cung cấp khác nhau và các hệ thống nguồn mở để lựa chọn.

Tôi sẽ cố gắng viết điều này một cách trung lập vì tôi làm việc cho 3scale cung cấp cả giải pháp thương mại và mã nguồn mở nhưng tôi khuyến khích bạn xem xét các tùy chọn khác nhau và rút ra kết luận của riêng bạn! Các lựa chọn chính bạn phải là:

  • On-tiền đề cổng độc quyền, từ các nhà cung cấp như ApigeeLayer7 - đây là những thường là một thiết bị cứng hoặc mềm bạn cài đặt cục bộ trong trung tâm dữ liệu của bạn.
  • Cổng được lưu trữ trên đám mây, từ các nhà cung cấp như Mashery, Apigee và WSO2 API Cloud có lưu lượng truy cập API hiệu quả được chuyển hướng qua máy chủ của họ để hoạt động.
  • Kiến trúc Plugin/Agent, như 3scale (mà tôi làm việc) cung cấp mô-đun phần mềm có thể được triển khai trên tiền đề trong ứng dụng, trên tiền đề trong cổng proxy nguồn mở như Varnish và cũng được kết nối với CDN.
  • Các giải pháp nguồn mở như APIAXLEWSO2 có thể được triển khai trên tiền đề hoặc trong đám mây.

Các cách tiếp cận khác nhau hoạt động khác nhau và nó phụ thuộc vào những gì bạn đang nhắm đến. Tại 3scale chúng tôi rõ ràng có một thiên vị cho cách tiếp cận của chúng tôi vì nó cho phép bạn khe cắm trong các đại lý lọc khá nhiều bất cứ nơi nào trong ngăn xếp của bạn - nhưng n odoubt mỗi nhà cung cấp sẽ có quan điểm của họ!

+0

Vì vậy, '3Scale' không có cổng proxy riêng! – Joshi

+0

3scale hiện - dựa trên NGINX. – steve

+0

Các cổng API có được sử dụng bởi người tiêu dùng api không? - ví dụ: Chúng tôi gọi nhiều api của bên thứ ba khác nhau và có lớp cổng sẽ giúp chúng tôi nhận được những lợi ích mà bạn nêu chi tiết ở trên. Bất kỳ ví dụ thế giới thực nào cũng sẽ hữu ích –

Các vấn đề liên quan