Enterprise phiên bản
Đường ống đầu ra
Tổng quan nhanh
Phần tiêu đề “Tổng quan nhanh”NextPDF Enterprise điều phối việc thực thi hàng loạt quy mô lớn các manifest output-pipeline của NextPDF Pro với một giới hạn đồng thời có thể cấu hình và một bước bàn giao tuân thủ tùy chọn trên các kết quả đã hoàn tất. Đây là lớp xử lý hàng loạt nằm trên output pipeline của Pro.
Tính khả dụng và cấp phép
Phần tiêu đề “Tính khả dụng và cấp phép”Năng lực này được phát hành trong NextPDF Enterprise (nextpdf/enterprise) và kích hoạt bằng một license envelope bậc Enterprise. Một triển khai không có quyền đó sẽ không nạp các class của năng lực này. So sánh các phiên bản và lấy giấy phép.
Bề mặt xử lý lô của Enterprise được xây dựng trên output pipeline của Pro (pro.output.pipeline), vốn là một điều kiện tiên quyết chứ không phải cổng khóa. Không có mã năng lực riêng cho từng tính năng; bộ điều phối lô và bàn giao tuân thủ có sẵn ở bất cứ đâu cài đặt gói nextpdf/enterprise được cấp phép.
Cài đặt
Phần tiêu đề “Cài đặt”composer require nextpdf/enterprise:^3Tổng quan khái niệm
Phần tiêu đề “Tổng quan khái niệm”BatchPipelineOrchestrator thực thi nhiều instance PipelineManifest như một lô. Mỗi manifest được chạy qua PipelineExecutor của Pro; bộ điều phối bổ sung phần điều phối lô, một guard giới hạn tài nguyên (số lượng manifest mỗi lô bị giới hạn trần), xử lý timeout cho từng lô, và một bước bàn giao tuân thủ tùy chọn.
BatchPipelineConfig kiểm soát ba thứ: số callback worker đồng thời tối đa, một timeout lô toàn cục tùy chọn tính bằng mili giây, và việc kiểm tra tuân thủ có chạy trên mọi kết quả sau khi pipeline hoàn tất hay không. Khi kiểm tra tuân thủ được bật, ComplianceHandoff tích hợp như một bước của pipeline để xác thực lại từng PDF dẫn xuất qua cổng tuân thủ Enterprise, nhờ đó một tài liệu đã bị pipeline chỉnh sửa sẽ được kiểm tra lại thay vì được tin tưởng từ trạng thái trước khi chỉnh sửa.
Trong các triển khai production, việc điều phối worker song song và backpressure được xử lý bởi một sidecar thực thi riêng biệt; bộ điều phối PHP được mô tả ở đây cung cấp phần điều phối lô và logic bàn giao tuân thủ, và được gọi bởi job worker chứ không phải trực tiếp bởi các request handler.
Vì sao nó hoạt động theo cách này
Phần tiêu đề “Vì sao nó hoạt động theo cách này”Việc tạo tài liệu hàng loạt khối lượng lớn tách thành hai mối quan tâm: điều phối những manifest nào chạy với các bảo đảm gì, và thúc đẩy thông lượng song song thô. NextPDF giữ ngữ nghĩa điều phối và tuân thủ trong bộ điều phối PHP tất định này, và ủy thác việc điều phối worker song song cùng backpressure cho một sidecar thực thi riêng biệt. Ranh giới đó cho phép lớp thông lượng mở rộng độ đồng thời một cách độc lập trong khi bộ điều phối vẫn đơn giản, có giới hạn và có thể kiểm toán. Một giới hạn cứng cho số manifest mỗi lô giữ cho bộ nhớ đỉnh có thể dự đoán được, nên một lần nộp lớn không thể làm suy giảm pool worker. Bước bàn giao tuân thủ xác thực lại từng đầu ra dẫn xuất thay vì tin tưởng trạng thái trước khi chỉnh sửa của nó, và thất bại theo hướng đóng. Một manifest hoàn tất chỉ được thông qua khi cổng xác nhận sự phù hợp, không bao giờ theo mặc định.
Bối cảnh thiết kế: Tạo tài liệu khối lượng lớn.
Bề mặt API
Phần tiêu đề “Bề mặt API”| Class | Trách nhiệm |
|---|---|
BatchPipelineOrchestrator | Thực thi nhiều manifest như một lô với độ đồng thời có giới hạn. |
BatchPipelineConfig | Độ đồng thời tối đa, timeout lô, công tắc kiểm tra tuân thủ khi hoàn tất. |
BatchPipelineResult | Tổng hợp: kết quả từng manifest, số lượng hoàn tất và thất bại, thời gian. |
ComplianceHandoff | Bước xác thực lại tuân thủ tùy chọn ở cuối pipeline. |
Mẫu mã — Bắt đầu nhanh
Phần tiêu đề “Mẫu mã — Bắt đầu nhanh”use NextPDF\Enterprise\OutputPipeline\BatchPipelineOrchestrator;
$result = (new BatchPipelineOrchestrator($executor))->executeBatch($manifests);Mẫu mã — Production
Phần tiêu đề “Mẫu mã — Production”use NextPDF\Enterprise\OutputPipeline\BatchPipelineOrchestrator;use NextPDF\Enterprise\OutputPipeline\BatchPipelineConfig;
$config = new BatchPipelineConfig( maxConcurrency: 4, timeoutMs: 600_000, complianceCheckOnComplete: true,);
$result = (new BatchPipelineOrchestrator($executor, $config)) ->executeBatch($manifests, $variablesMap);
$logger->info('pipeline.batch', [ 'completed' => $result->completedCount, 'failed' => $result->failedCount,]);Trường hợp biên và lưu ý
Phần tiêu đề “Trường hợp biên và lưu ý”- Lô áp đặt một giới hạn trên đối với số lượng manifest; vượt quá giới hạn sẽ làm phát sinh một lỗi resource-guard thay vì suy giảm âm thầm.
- Một timeout toàn cục bằng không nghĩa là không có timeout lô; hãy đặt một giá trị hữu hạn trong production để một manifest bị kẹt không thể chặn lô vô thời hạn.
- Bước bàn giao tuân thủ yêu cầu một PDF nhận diện được trong đầu ra của bước upstream; nếu không tìm thấy, bước này báo cáo thất bại cho manifest đó thay vì âm thầm bỏ qua.
- Module này phụ thuộc vào output pipeline của Pro; nó bổ sung phần điều phối lô, không phải một mô hình bước mới.
Hiệu năng
Phần tiêu đề “Hiệu năng”Thông lượng tỷ lệ thuận với độ đồng thời được cấu hình và chi phí của từng manifest. Độ đồng thời nên được đặt một cách thận trọng so với pool worker để các callback không làm bão hòa nó. Giới hạn trần số manifest mỗi lô giới hạn bộ nhớ đỉnh.
Ghi chú bảo mật
Phần tiêu đề “Ghi chú bảo mật”Bộ điều phối lô xử lý bất kỳ manifest và biến nào mà người gọi cung cấp; hãy đối xử với đầu vào của pipeline như với mọi tải PDF không tin cậy khác. Bước bàn giao tuân thủ là một công cụ hỗ trợ xác thực lại, không phải một cơ chế kiểm soát phân quyền.
Cư trú dữ liệu và biện pháp giảm thiểu PII
Phần tiêu đề “Cư trú dữ liệu và biện pháp giảm thiểu PII”Đầu ra của lô có thể chứa dữ liệu cá nhân. Việc xử lý diễn ra trong tiến trình và cục bộ; bộ điều phối này không thực hiện cuộc gọi mạng đi ra nào. Hãy áp dụng các kiểm soát lưu giữ của riêng bạn cho đầu ra của lô.
Telemetry an toàn và làm sạch nhật ký
Phần tiêu đề “Telemetry an toàn và làm sạch nhật ký”Kết quả lô báo cáo số lượng và thời gian, không phải nội dung tài liệu. Hãy làm sạch các định danh manifest khỏi nhật ký nếu chúng mã hóa dữ liệu của tenant hoặc của vụ việc.
Phù hợp tiêu chuẩn
Phần tiêu đề “Phù hợp tiêu chuẩn”Không tuyên bố phù hợp tiêu chuẩn nào cho module này; nó là một lớp điều phối. Bước bàn giao tuân thủ tùy chọn ủy thác cho cổng tuân thủ Enterprise, vốn mang theo các tham chiếu của riêng nó.
Hành vi ở FIPS-mode
Phần tiêu đề “Hành vi ở FIPS-mode”Module này không thực hiện thao tác mật mã nào.
Mô hình mối đe dọa
Phần tiêu đề “Mô hình mối đe dọa”Các đầu vào chính là manifest và biến do người gọi cung cấp. Biện pháp giảm thiểu: một giới hạn cứng cho số manifest mỗi lô, độ đồng thời có giới hạn, xác thực lại tùy chọn các đầu ra dẫn xuất, và không có I/O mạng trong bản thân bộ điều phối.
Hợp đồng hành vi
Phần tiêu đề “Hợp đồng hành vi”executeBatch()chạy mỗi manifest qua pipeline executor của Pro và trả về kết quả từng manifest cùng số lượng hoàn tất và thất bại và thời gian.- Một giới hạn cứng giới hạn số lượng manifest mỗi lô; vượt quá giới hạn sẽ làm phát sinh một lỗi resource-guard thay vì suy giảm âm thầm.
- Một timeout toàn cục bằng không nghĩa là không có timeout lô; một giá trị hữu hạn giới hạn một manifest bị kẹt.
- Khi được bật, bước bàn giao tuân thủ xác thực lại từng PDF dẫn xuất và báo cáo thất bại của bước khi không tìm thấy PDF nhận diện được ở upstream thay vì âm thầm bỏ qua.
Ranh giới xuất bản
Phần tiêu đề “Ranh giới xuất bản”Trang này chỉ tài liệu hóa hành vi quan sát được từ bên ngoài và bề mặt API công khai được hỗ trợ. Các đường dẫn namespace nội bộ, class trợ giúp, bảng cơ chế, tên tệp runbook, và tiền tố ticket nằm ngoài phạm vi.
Phương án dự phòng Core
Phần tiêu đề “Phương án dự phòng Core”NextPDF Core không có mô hình output-pipeline. Một triển khai chỉ có Core tự soạn các bước của mình trực tiếp dựa trên Core API; không có manifest, không có điều phối lô, và không có bàn giao tuân thủ.
Phương án dự phòng Pro
Phần tiêu đề “Phương án dự phòng Pro”Trong một triển khai chỉ có Pro, bề mặt được hỗ trợ là output pipeline đơn-manifest của Pro (pro.output.pipeline): PipelineExecutor của Pro chạy một manifest tại một thời điểm. Pro không cung cấp bộ điều phối lô, guard lô độ đồng thời có giới hạn, timeout cho từng lô, hay bước bàn giao tuân thủ Enterprise; một cấu hình yêu cầu điều phối lô hoặc bàn giao tuân thủ trong một triển khai chỉ có Pro không có thành phần Enterprise nào để đáp ứng nó. Xem Tổng quan Pro để biết bề mặt pipeline của Pro.
Ghi chú ranh giới Enterprise
Phần tiêu đề “Ghi chú ranh giới Enterprise”Phần điều phối lô, các giới hạn của resource-guard, và việc kết nối bàn giao tuân thủ chỉ được mô tả ở mức hành vi. Giao thức điều phối sidecar nội bộ, ngữ nghĩa backpressure nội bộ, và việc kết nối cổng tuân thủ nội bộ nằm ngoài phạm vi của bề mặt công khai và không được tái hiện ở đây.
Ranh giới triển khai
Phần tiêu đề “Ranh giới triển khai”Trong production, việc điều phối worker song song và backpressure được xử lý bởi một sidecar thực thi riêng biệt; bộ điều phối PHP được mô tả ở đây cung cấp phần điều phối lô và logic bàn giao tuân thủ và được gọi bởi job worker, không phải trực tiếp bởi các request handler. Việc định cỡ pool worker, cấp phát sidecar, và các giới hạn đồng thời so với pool worker PHP là trách nhiệm của người vận hành. Bước bàn giao tuân thủ là một công cụ hỗ trợ xác thực lại, không phải một cơ chế kiểm soát phân quyền.
Ranh giới tuân thủ pháp lý
Phần tiêu đề “Ranh giới tuân thủ pháp lý”Bước bàn giao tuân thủ tùy chọn chạy lại một lượt xác thực trên các tài liệu dẫn xuất. Nó báo cáo các phát hiện; nó không chứng nhận một tài liệu, không bảo đảm tính đầy đủ về pháp lý, và không cấu thành tư vấn pháp lý. Việc đánh giá xem một đầu ra có đáp ứng các nghĩa vụ của bạn hay không là trách nhiệm của bạn.
Xem thêm
Phần tiêu đề “Xem thêm”- Output pipeline (tài liệu tham chiếu Enterprise) — tài liệu tham chiếu API của bộ điều phối lô.
- Tổng quan Pro — output pipeline bên dưới.
- Tổng quan Enterprise
- Ma trận tính năng Core so với Pro so với Enterprise