Antipattern: Thêm thông tin tuỳ chỉnh vào giản đồ do Apigee sở hữu trong cơ sở dữ liệu Postgres

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Edge API Analytics là một tính năng tích hợp sẵn rất mạnh mẽ do Apigee Edge cung cấp. Công cụ này thu thập và phân tích nhiều loại dữ liệu lưu chuyển trên các API. Dữ liệu phân tích thu thập được có thể cung cấp thông tin chi tiết rất hữu ích. Ví dụ: Lưu lượng truy cập API có xu hướng như thế nào trong một khoảng thời gian? API nào được sử dụng nhiều nhất? Những API nào có tỷ lệ lỗi cao?

Bạn có thể thường xuyên phân tích dữ liệu và thông tin chi tiết này để thực hiện những hành động phù hợp, chẳng hạn như lập kế hoạch dung lượng cho các API trong tương lai dựa trên mức sử dụng hiện tại, quyết định đầu tư trong tương lai và hoạt động kinh doanh trong tương lai, v.v.

Dữ liệu Analytics và cách lưu trữ dữ liệu đó

API Analytics thu thập nhiều loại dữ liệu khác nhau như:

  • Thông tin về một API – URI yêu cầu, địa chỉ IP ứng dụng, Mã trạng thái phản hồi, v.v.
  • Hiệu suất proxy API – Tỷ lệ thành công/không thành công, thời gian xử lý yêu cầu và phản hồi, v.v.
  • Hiệu suất của máy chủ mục tiêu – Tỷ lệ thành công/không thành công, thời gian xử lý
  • Thông tin về lỗi – Số lượng lỗi, Mã lỗi, Chính sách không đạt, Số lượng Apigee và Máy chủ mục tiêu gây ra lỗi.
  • Thông tin khác - Số lượng yêu cầu của Nhà phát triển, Ứng dụng của nhà phát triển, v.v.

Tất cả những dữ liệu này được lưu trữ trong một giản đồ analytics do Apigee tạo và quản lý trong cơ sở dữ liệu Postgres.

Thông thường, trong một bản cài đặt vanilla Edge, Postgres sẽ có giản đồ sau:

Giản đồ có tên analytics được Edge sử dụng để lưu trữ tất cả dữ liệu phân tích cho từng tổ chức và môi trường. Nếu bạn cài đặt tính năng kiếm tiền, thì hệ thống sẽ hiển thị một giản đồ rkms. Giản đồ khác dành cho nội bộ Postgres.

Giản đồ analytics sẽ tiếp tục thay đổi vì Apigee Edge sẽ tự động thêm các bảng dữ kiện mới vào trong thời gian chạy. Thành phần máy chủ Postgres sẽ tổng hợp dữ liệu thực tế vào các bảng tổng hợp. Bảng này sẽ được tải và hiển thị trên giao diện người dùng Edge.

Phản mẫu

Bạn không nên thêm cột, bảng và/hoặc khung hiển thị tuỳ chỉnh vào bất kỳ giản đồ nào do Apigee sở hữu trong Cơ sở dữ liệu Postgres trên môi trường Đám mây riêng tư trực tiếp bằng truy vấn SQL vì việc này có thể gây bất lợi.

Hãy lấy một ví dụ để giải thích chi tiết về điều này.

Hãy xem xét một bảng tuỳ chỉnh có tên là account đã được tạo trong giản đồ phân tích như sau:

Sau một thời gian, giả sử bạn cần nâng cấp Apigee Edge từ phiên bản thấp hơn lên phiên bản cao hơn. Việc nâng cấp Private Cloud Apigee Edge bao gồm việc nâng cấp Postgres cùng nhiều thành phần khác. Nếu có bất kỳ cột, bảng hoặc khung hiển thị tuỳ chỉnh nào được thêm vào Cơ sở dữ liệu Postgres, thì quá trình nâng cấp Postgres sẽ không thành công kèm theo lỗi tham chiếu đến các đối tượng tuỳ chỉnh vì các đối tượng này không phải do Apigee Edge tạo. Do đó, quá trình nâng cấp Apigee Edge cũng không thành công và không thể hoàn tất.

Các lỗi tương tự có thể xảy ra trong các hoạt động bảo trì của Apigee Edge khi sao lưu và khôi phục các thành phần của Edge, bao gồm cả cơ sở dữ liệu Postgres.

Mức độ tác động

  • Không thể hoàn tất quá trình nâng cấp Apigee Edge vì quá trình nâng cấp thành phần Postgres không thành công và gây ra lỗi liên quan đến các đối tượng tuỳ chỉnh không phải do Apigee Edge tạo.
  • Lỗi không nhất quán (và lỗi) trong khi bảo trì dịch vụ Apigee Analytics (sao lưu/khôi phục).

Phương pháp hay nhất

  • Đừng thêm trực tiếp thông tin tuỳ chỉnh dưới dạng cột, bảng, khung hiển thị, hàm và quy trình vào bất kỳ giản đồ nào do Apigee sở hữu, chẳng hạn như analytics, v.v.
  • Nếu cần phải hỗ trợ thông tin tuỳ chỉnh, thì thông tin đó có thể được thêm dưới dạng cột (trường) bằng cách sử dụng chính sách của Công cụ thu thập số liệu thống kê cho giản đồ analytics.

Tài liệu đọc thêm