Luồng dùng chung có thể tái sử dụng

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
thông tin

Bạn có thể kết hợp các chính sách và tài nguyên thành một luồng dùng chung mà bạn có thể sử dụng từ nhiều proxy API, thậm chí từ các luồng dùng chung khác. Mặc dù giống như một proxy, nhưng luồng dùng chung không có điểm cuối. Bạn chỉ có thể sử dụng chính sách này từ một proxy API hoặc quy trình dùng chung nằm trong cùng một tổ chức với quy trình dùng chung đó.

Bằng cách ghi lại chức năng hữu ích ở nhiều nơi tại một vị trí, luồng dùng chung giúp bạn đảm bảo tính nhất quán, rút ngắn thời gian phát triển và dễ dàng quản lý mã hơn.

Video sau đây minh hoạ cách tạo và theo dõi một luồng dùng chung trong giao diện người dùng Edge.

Video dài 5 phút sau đây minh hoạ cách tạo và theo dõi một luồng dùng chung trong Giao diện người dùng Edge cổ điển (chỉ dành cho Edge cho Đám mây riêng tư).

Bạn có thể gọi một luồng dùng chung bằng chính sách FlowCallout. Ngoài ra, bằng cách đính kèm một luồng dùng chung vào một flow hook, bạn có thể thực thi luồng dùng chung trước yêu cầu của proxy hoặc mục tiêu, hoặc sau phản hồi của proxy hoặc mục tiêu.

Để tham khảo chính sách về chú thích trong luồng, hãy xem Chính sách về chú thích trong luồng. Để biết thêm thông tin về các lệnh gọi lại luồng, hãy xem bài viết Đính kèm một luồng dùng chung bằng lệnh gọi lại luồng.

Ví dụ: giả sử bạn có các khu vực chức năng được dùng ở nhiều nơi hoặc phải được chuẩn hoá trên các API trong tổ chức của bạn. Bạn có thể có một quy trình dùng chung cho mỗi danh mục, bao gồm:

  • bảo mật, với mã uỷ quyền bằng OAuth và quy trình xác minh khoá API, cũng như mã bảo vệ khỏi mối đe doạ.
  • logging để tạo thông báo lỗi tiêu chuẩn.
  • mediation để chuyển đổi giữa các định dạng thông báo XML và JSON.

Trong hình minh hoạ sau, 2 proxy API gọi ra (bằng chính sách FlowCallout) đến một luồng dùng chung để xác thực các yêu cầu đến của người dùng. AuthSharedFlow đã được triển khai riêng cho tổ chức trước các proxy để có thể hỗ trợ các yêu cầu từ các proxy. Một nhóm chịu trách nhiệm về các chính sách chung của công ty có thể phát triển và quản lý một quy trình chung, sau đó các nhóm theo ngành nghề kinh doanh sẽ sử dụng quy trình này trong các proxy để xây dựng các ứng dụng chuyên biệt hơn.

Phát triển một luồng dùng chung

Khi phát triển một luồng dùng chung, bạn phải luôn kiểm thử luồng đó bằng các lệnh gọi được gửi đến một proxy API. Nói cách khác, bạn không thể gửi yêu cầu trực tiếp đến một luồng dùng chung như cách bạn gửi yêu cầu đến một proxy API. Thay vào đó, bạn gửi yêu cầu đến một proxy API, proxy này sẽ gọi đến luồng dùng chung.

Sau đây là các bước cấp cao để phát triển một quy trình dùng chung:

  1. Xác định nhóm tính năng dùng chung.

    Ví dụ: bạn có thể muốn kết hợp các tính năng quản lý lưu lượng truy cập, bao gồm cả việc ngăn chặn lưu lượng truy cập tăng đột biến. Bằng cách đó, bạn có thể quản lý cấu hình của chúng bên ngoài quy trình của những người triển khai logic theo ngành.

  2. Phát triển một quy trình chung bằng cách triển khai các chính sách và tài nguyên hỗ trợ, giống như khi bạn phát triển một proxy API.

    Luồng chia sẻ là một chuỗi các bước có điều kiện. Vì vậy, việc phát triển một API cũng giống như việc phát triển một proxy API. Bạn có thể thêm các chính sách và tài nguyên mà bạn có thể thêm vào một proxy.

    Ví dụ: trong quá trình hỗ trợ quản lý lưu lượng truy cập, bạn có thể triển khai chính sách Chặn đột biến để chỉ cho phép 30 yêu cầu mỗi giây, như trong ví dụ sau:

    <SpikeArrest async="false" continueOnError="false" enabled="true" name="Spike-Arrest">
        <DisplayName>Spike Arrest</DisplayName>
        <Properties/>
        <Identifier ref="request.header.some-header-name"/>
        <MessageWeight ref="request.header.weight"/>
        <Rate>30ps</Rate>
    </SpikeArrest>

    Sau đó, đối với một luồng dùng chung để quản lý lưu lượng truy cập, bạn có thể đính kèm chính sách Chặn đột biến dưới dạng một bước. Chính sách này sẽ thực thi cho mọi proxy API gọi luồng dùng chung.

    <SharedFlow name="default">
        <Step>
            <Name>Spike-Arrest</Name>
        </Step>
    </SharedFlow>

    Để biết thông tin về cách bắt đầu một luồng dùng chung trong bảng điều khiển quản lý, hãy xem phần Tạo luồng dùng chung trong giao diện người dùng Edge.

    Tương tự như với các proxy API, bạn có thể nhập một tệp zip chứa các cấu phần phần mềm nguồn của luồng dùng chung (xem phần Nhập một proxy API mới để biết thêm thông tin về cách nhập proxy). Sau đây minh hoạ cách nhập một luồng dùng chung bằng Management API:

    curl -X POST -F "file=@/path/to/zip/file.zip" \ 'https://api.enterprise.apigee.com/v1/o/{org_name}/sharedflows?action=import&name=shared-flow-name' \
    -u email:password
  3. Triển khai luồng dùng chung vào môi trường trước khi triển khai các proxy hoặc luồng dùng chung sẽ sử dụng luồng đó. Bạn triển khai một quy trình dùng chung theo cách tương tự như cách triển khai một proxy API. (Để biết thêm thông tin, hãy xem phần Tổng quan về việc triển khai.)

    Luồng dùng chung phải nằm trong cùng một tổ chức và được triển khai trong cùng một môi trường với các proxy API và các luồng dùng chung khác sử dụng luồng đó. Việc triển khai luồng dùng chung trước các proxy giúp giải quyết phần phụ thuộc của proxy vào luồng dùng chung tại thời điểm triển khai.

    Bạn có thể triển khai một luồng dùng chung bằng lệnh gọi API quản lý, chẳng hạn như lệnh gọi sau:

    curl -X POST --header "Content-Type: application/octet-stream" \
    https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments \
    -u email:password

    Bạn cũng có thể thay thế một luồng dùng chung hiện đang được triển khai mà không bị gián đoạn. (Điều này rất giống với các proxy API. Xem phần Triển khai các proxy API bằng API quản lý để biết thêm thông tin). Sau đây là biểu mẫu yêu cầu sử dụng API quản lý:

    curl -X POST --header "Content-Type:application/x-www-form-urlencoded" \
    https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments?"override=true" \
    -u email:password
  4. Phát triển proxy API sử dụng để có thể gọi luồng dùng chung trong luồng riêng.

    Từ một proxy API, bạn gọi đến một luồng dùng chung bằng chính sách FlowCallout. (Bạn cũng có thể đính kèm luồng dùng chung vào proxy bằng cách sử dụng một lệnh gọi luồng, như mô tả trong phần Đính kèm luồng dùng chung bằng cách sử dụng một lệnh gọi luồng.) Để xem hướng dẫn giới thiệu về cách tạo một proxy API, hãy xem phần Tạo proxy API đầu tiên.

    Để sử dụng một quy trình được chia sẻ, bạn hãy thêm chính sách FlowCallout vào proxy hoặc quy trình được chia sẻ sẽ sử dụng quy trình đó. Giống như chính sách Chú thích dịch vụ, trong đó bạn gọi đến một dịch vụ khác, FlowCallout gọi đến luồng dùng chung. Bạn phải triển khai proxy API sử dụng sau luồng dùng chung và vào cùng một môi trường với luồng dùng chung. Bạn phải đặt luồng dùng chung khi muốn kiểm thử một lệnh gọi đến luồng đó bằng chính sách FlowCallout.

    Trong đoạn mã sau đây, chính sách FlowCallout gọi đến một luồng dùng chung có tên là traffic-management-shared.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Traffic-Management-Flow-Callout">
        <DisplayName>Traffic Management FlowCallout</DisplayName>
        <Properties/>
        <SharedFlowBundle>traffic-management-shared</SharedFlowBundle>
    </FlowCallout>

    Để biết thêm thông tin, hãy xem phần Gọi một quy trình dùng chung từ một proxy API hoặc quy trình dùng chung

  5. Triển khai proxy API sử dụng để bắt đầu sử dụng quy trình dùng chung. (Để biết thêm thông tin về việc triển khai nói chung, hãy xem phần Tìm hiểu về việc triển khai.)
  6. Phát triển lặp đi lặp lại bằng cách theo dõi, như bạn vẫn làm với một proxy API.

    Giống như với một proxy API, bạn phát triển một luồng dùng chung bằng cách lặp lại việc gọi và theo dõi cho đến khi có được logic theo cách bạn muốn. Trong trường hợp này, vì luồng chia sẻ không chạy độc lập, nên bạn sẽ gọi một điểm cuối proxy và theo dõi proxy.

    Sau đây là các bước:

    1. Đảm bảo rằng cả luồng được chia sẻ và API proxy gọi luồng đó bằng chính sách FlowCallout đều nằm trong cùng một tổ chức và được triển khai trong cùng một môi trường.
    2. Trên thẻ Trace (Theo dõi) của API proxy, hãy bắt đầu theo dõi API proxy.
    3. Gửi yêu cầu đến một điểm cuối proxy trong proxy API. Luồng từ điểm cuối phải bao gồm chính sách FlowCallout gọi đến luồng dùng chung.
    4. Trên thẻ Trace (Theo dõi), hãy kiểm tra luồng từ proxy API đến luồng dùng chung.

      Lưu ý rằng trong quá trình theo dõi, luồng dùng chung được biểu thị dưới dạng một tập hợp các bước hoặc chính sách nằm trong một hộp màu xám. Các biểu tượng đại diện cho chính sách FlowCallout sẽ xuất hiện trước các luồng dùng chung. (Để biết thêm thông tin về tính năng theo dõi, hãy xem phần Sử dụng công cụ Theo dõi.)

Tạo một luồng dùng chung trong giao diện người dùng Edge

Khi sử dụng giao diện người dùng Apigee Edge để tạo một luồng dùng chung, bạn có thể tạo một luồng từ đầu hoặc bằng cách nhập các nguồn luồng hiện có dưới dạng tệp .zip của gói luồng.

  1. Truy cập vào trang Luồng dùng chung, như mô tả bên dưới. Trên trang Luồng được chia sẻ, bạn có thể xem danh sách các luồng được chia sẻ trong tổ chức và chỉnh sửa hoặc xoá các luồng trong danh sách.

    Edge

    Cách truy cập vào trang Shared Flows (Luồng dùng chung) bằng giao diện người dùng Edge:

    1. Đăng nhập vào apigee.com/edge.
    2. Chọn tổ chức có chứa quy trình công việc được chia sẻ. Xem phần Chuyển đổi giữa các tổ chức.

      Mọi API proxy và quy trình dùng chung được triển khai cho một môi trường từ tổ chức này đều có thể sử dụng quy trình dùng chung. Ứng dụng này sẽ không hoạt động bên ngoài tổ chức này.

    3. Chọn Phát triển > Luồng dùng chung trong thanh điều hướng bên trái.

    Classic Edge (Private Cloud)

    Cách truy cập vào trang Shared Flows (Luồng dùng chung) bằng giao diện người dùng Classic Edge:

    1. Đăng nhập vào http://ms-ip:9000, trong đó ms-ip là địa chỉ IP hoặc tên DNS của nút Máy chủ quản lý.
    2. Chọn tổ chức có chứa quy trình công việc được chia sẻ. Xem phần Chuyển đổi giữa các tổ chức.

      Mọi API proxy và quy trình dùng chung được triển khai cho một môi trường từ tổ chức này đều có thể sử dụng quy trình dùng chung. Ứng dụng này sẽ không hoạt động bên ngoài tổ chức này.

    3. Chọn API > Shared Flows (API > Luồng dùng chung) trong thanh điều hướng trên cùng.
  2. Nhấp vào nút + Shared Flow (Luồng chia sẻ) để bắt đầu thêm một luồng chia sẻ mới.
  3. Trên trang Tạo một luồng dùng chung, hãy chọn cách bạn muốn tạo luồng mới:
    • Tạo một quy trình mới từ đầu. Bạn sẽ có thể định cấu hình các chính sách và tài nguyên dưới dạng các bước trong quy trình.
      1. Chọn Empty Shared Flow (Luồng chia sẻ trống).
      2. Nhập một giá trị tên. Đây sẽ là tên mà các proxy API và các luồng dùng chung khác sử dụng để tham chiếu đến luồng dùng chung này. Tên này phải mô tả cho các nhà phát triển sử dụng quy trình.
      3. Nhập nội dung mô tả để cung cấp thêm thông tin về chức năng của quy trình.
      4. Nhấp vào Tiếp theo.
      5. Bạn có thể chọn những môi trường mà bạn muốn triển khai quy trình mới.

        Ví dụ: nếu bạn sẽ kiểm thử luồng dùng chung từ các proxy API được triển khai cho môi trường thử nghiệm, thì hãy triển khai luồng dùng chung đó cho test.

      6. Nhấp vào Tạo và triển khai để tạo và triển khai quy trình dùng chung mới vào(các) môi trường mà bạn đã chọn. Nếu bạn không chọn môi trường nào, thì luồng dùng chung sẽ được tạo nhưng không được triển khai.

    • Tạo một luồng dùng chung từ các nguồn hiện có bằng cách tải một gói luồng lên.
      1. Chọn Shared Flow Bundle (Gói luồng dùng chung) để chỉ định một tệp .zip chứa các cấu phần phần mềm mà bạn muốn trong luồng mới.

        Gói luồng dùng chung chứa các cấu phần phần mềm nguồn của một luồng dùng chung. Ví dụ: nếu tải một luồng được chia sẻ xuống từ giao diện người dùng Edge, bạn sẽ có một tệp .zip chứa gói luồng.

      2. Nhấp vào Tiếp theo.
      3. Nhấp vào Chọn tệp để duyệt tìm tệp .zip chứa các nguồn của luồng chia sẻ mà bạn muốn nhập.
      4. Trong hộp Shared Flow Name (Tên luồng dùng chung), hãy nhập tên cho luồng được nhập. Đây sẽ là tên mà các proxy API và các luồng dùng chung khác sử dụng để tham chiếu đến luồng dùng chung này. Tên này phải có tính mô tả đối với những nhà phát triển sử dụng quy trình.
      5. Nhấp vào Tiếp theo.
      6. Nhấp vào Tạo để tạo luồng mới từ các nguồn mà bạn đang nhập.

Gọi một luồng dùng chung từ một proxy API hoặc luồng dùng chung

Bạn có thể gọi một luồng dùng chung từ một proxy hoặc từ một luồng dùng chung khác bằng cách sử dụng chính sách FlowCallout.

  1. Trong giao diện người dùng Edge, hãy xác định vị trí proxy hoặc luồng dùng chung mà bạn muốn gọi một luồng dùng chung khác.
  2. Trong Trình điều hướng, bên cạnh Chính sách, hãy nhấp vào nút +.
  3. Trong danh sách chính sách, trong mục Tiện ích, hãy nhấp vào FlowCallout.
  4. Nhập tên hiển thị và tên (mã nhận dạng riêng biệt), sau đó chọn luồng dùng chung mà chính sách này sẽ gọi.
  5. Nhấp vào Thêm.
  6. Thêm chính sách FlowCallout mới vào proxy mà bạn muốn thực hiện lệnh gọi.

Xem thêm

Liên kết các proxy API với nhau