Enterprise รุ่น
ไปป์ไลน์เอาต์พุต
ภาพรวมโดยสังเขป
หัวข้อที่มีชื่อว่า “ภาพรวมโดยสังเขป”NextPDF Enterprise ประสานการรันแบบ batch ขนาดใหญ่ของ manifest output-pipeline ของ NextPDF Pro ด้วยขีดจำกัดการทำงานพร้อมกันที่กำหนดค่าได้และการส่งต่อความสอดคล้องแบบเลือกใช้บนผลลัพธ์ที่เสร็จสมบูรณ์ มันคือชั้น batch ที่อยู่บน output pipeline ของ Pro
ความพร้อมใช้งานและการอนุญาต
หัวข้อที่มีชื่อว่า “ความพร้อมใช้งานและการอนุญาต”ความสามารถนี้จัดส่งใน NextPDF Enterprise (nextpdf/enterprise) และเปิดใช้งานด้วย envelope ใบอนุญาตระดับ Enterprise การปรับใช้ที่ไม่มีสิทธิ์นั้นจะไม่โหลดคลาสของความสามารถนี้ เปรียบเทียบรุ่นและรับสิทธิ์การใช้งาน
พื้นผิว batch ของ Enterprise สร้างต่อยอดบน output pipeline ของ Pro (pro.output.pipeline) ซึ่งเป็นข้อกำหนดเบื้องต้นมากกว่าจะเป็นเกต ไม่มีโค้ดความสามารถต่อฟีเจอร์แยกต่างหาก ตัวประสาน batch และการส่งต่อความสอดคล้องพร้อมใช้งานทุกที่ที่ติดตั้งแพ็กเกจ nextpdf/enterprise ที่มีสิทธิ์
การติดตั้ง
หัวข้อที่มีชื่อว่า “การติดตั้ง”composer require nextpdf/enterprise:^3ภาพรวมเชิงแนวคิด
หัวข้อที่มีชื่อว่า “ภาพรวมเชิงแนวคิด”BatchPipelineOrchestrator รันอินสแตนซ์ PipelineManifest จำนวนมากเป็นหนึ่ง batch manifest แต่ละรายการถูกรันผ่าน PipelineExecutor ของ Pro ตัวประสานเพิ่มการประสาน batch ตัวป้องกันทรัพยากรที่มีขอบเขต (จำนวน manifest ต่อ batch ถูกจำกัด) การจัดการ timeout ต่อ batch และการส่งต่อความสอดคล้องแบบเลือกใช้
BatchPipelineConfig ควบคุมสามสิ่ง ได้แก่ จำนวน worker callback ที่ทำงานพร้อมกันสูงสุด timeout ทั่วทั้ง batch เป็นมิลลิวินาทีแบบเลือกใช้ และว่าจะรันการตรวจสอบความสอดคล้องบนทุกผลลัพธ์หลังจากไปป์ไลน์เสร็จสมบูรณ์หรือไม่ เมื่อเปิดใช้งานการตรวจสอบความสอดคล้อง ComplianceHandoff ผสานเป็นขั้นตอนของไปป์ไลน์ที่ตรวจสอบ PDF ที่สืบทอดมาแต่ละรายการอีกครั้งผ่านเกตเวย์ความสอดคล้องของ Enterprise ดังนั้นเอกสารที่ถูกแก้ไขโดยไปป์ไลน์จึงถูกตรวจสอบใหม่แทนที่จะเชื่อถือจากสถานะก่อนการแก้ไข
ในการปรับใช้แบบใช้งานจริง การกระจาย worker แบบขนานและ backpressure ถูกจัดการโดย sidecar การทำงานแยกต่างหาก ตัวประสาน PHP ที่อธิบายในที่นี้จัดหาการประสาน batch และตรรกะการส่งต่อความสอดคล้อง และถูกเรียกใช้โดย job worker แทนที่จะถูกเรียกโดยตัวจัดการคำขอโดยตรง
เหตุใดจึงทำงานเช่นนี้
หัวข้อที่มีชื่อว่า “เหตุใดจึงทำงานเช่นนี้”การสร้างแบบ batch ปริมาณสูงแบ่งออกเป็นสองข้อกังวล ได้แก่ การประสานว่า manifest ใดรันภายใต้การรับประกันแบบใด และการขับเคลื่อน throughput แบบขนานดิบ NextPDF เก็บความหมายของการประสานและความสอดคล้องไว้ในตัวประสาน PHP แบบกำหนดผลได้นี้ และมอบหมายการกระจาย worker แบบขนานและ backpressure ให้กับ sidecar การทำงานแยกต่างหาก ขอบเขตนั้นทำให้ชั้น throughput ปรับขยายการทำงานพร้อมกันได้อย่างอิสระในขณะที่ตัวประสานยังคงเรียบง่าย มีขอบเขต และตรวจสอบได้ ขอบเขตที่เข้มงวดของ manifest ต่อ batch ทำให้หน่วยความจำสูงสุดคาดการณ์ได้ ดังนั้นการส่งขนาดใหญ่หนึ่งครั้งจึงไม่สามารถลดทอน worker pool ได้ การส่งต่อความสอดคล้องตรวจสอบผลลัพธ์ที่สืบทอดมาแต่ละรายการซ้ำแทนที่จะเชื่อถือสถานะก่อนการแก้ไข และล้มเหลวแบบปิด manifest ที่เสร็จสมบูรณ์จะผ่านก็ต่อเมื่อเกตเวย์ยืนยันความสอดคล้องเท่านั้น ไม่ใช่โดยปริยาย
ภูมิหลังการออกแบบ High-volume document generation
พื้นผิว API
หัวข้อที่มีชื่อว่า “พื้นผิว API”| คลาส | ความรับผิดชอบ |
|---|---|
BatchPipelineOrchestrator | รัน manifest จำนวนมากเป็น batch ด้วยการทำงานพร้อมกันที่มีขอบเขต |
BatchPipelineConfig | การทำงานพร้อมกันสูงสุด timeout ของ batch ตัวสลับเปิด-ปิด compliance-on-complete |
BatchPipelineResult | ผลรวม ได้แก่ ผลลัพธ์ต่อ manifest จำนวนที่เสร็จสมบูรณ์และล้มเหลว และเวลา |
ComplianceHandoff | ขั้นตอนการตรวจสอบความสอดคล้องซ้ำเมื่อสิ้นสุดไปป์ไลน์แบบเลือกใช้ |
ตัวอย่างโค้ด — เริ่มต้นใช้งานอย่างรวดเร็ว
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — เริ่มต้นใช้งานอย่างรวดเร็ว”use NextPDF\Enterprise\OutputPipeline\BatchPipelineOrchestrator;
$result = (new BatchPipelineOrchestrator($executor))->executeBatch($manifests);ตัวอย่างโค้ด — การใช้งานจริง
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — การใช้งานจริง”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,]);กรณีขอบและข้อควรระวัง
หัวข้อที่มีชื่อว่า “กรณีขอบและข้อควรระวัง”- batch บังคับขอบเขตบนของจำนวน manifest การเกินขอบเขตจะยกข้อผิดพลาด resource-guard แทนที่จะลดทอนอย่างเงียบ ๆ
- timeout ทั่วทั้ง batch เท่ากับศูนย์หมายถึงไม่มี timeout ของ batch ให้ตั้งค่าที่มีขอบเขตจำกัดในการใช้งานจริง เพื่อไม่ให้ manifest ที่ค้างขัดขวาง batch อย่างไม่มีกำหนด
- การส่งต่อความสอดคล้องต้องการ PDF ที่จดจำได้ในผลลัพธ์ของขั้นตอนต้นน้ำ หากไม่พบ ขั้นตอนจะรายงานความล้มเหลวสำหรับ manifest นั้นแทนที่จะผ่านอย่างเงียบ ๆ
- โมดูลนี้ขึ้นอยู่กับ output pipeline ของ Pro มันเพิ่มการประสาน batch ไม่ใช่โมเดลขั้นตอนใหม่
ประสิทธิภาพ
หัวข้อที่มีชื่อว่า “ประสิทธิภาพ”throughput ขยายตามการทำงานพร้อมกันที่กำหนดค่าไว้และต้นทุนต่อ manifest ควรตั้งค่าการทำงานพร้อมกันอย่างระมัดระวังเทียบกับ worker pool เพื่อไม่ให้ callback ทำให้มันอิ่มตัว ขอบเขตของ manifest ต่อ batch จำกัดหน่วยความจำสูงสุด
บันทึกด้านความปลอดภัย
หัวข้อที่มีชื่อว่า “บันทึกด้านความปลอดภัย”ตัวประสาน batch ประมวลผล manifest และตัวแปรใด ๆ ที่ผู้เรียกใช้จัดหามา ให้ปฏิบัติต่ออินพุตของไปป์ไลน์เช่นเดียวกับงาน PDF ที่ไม่น่าเชื่อถืออื่น ๆ การส่งต่อความสอดคล้องเป็นตัวช่วยตรวจสอบซ้ำ ไม่ใช่การควบคุมการให้สิทธิ์
Data residency และการลดผลกระทบ PII
หัวข้อที่มีชื่อว่า “Data residency และการลดผลกระทบ PII”ผลลัพธ์ของ batch อาจมีข้อมูลส่วนบุคคล การประมวลผลทำในกระบวนการและในเครื่อง ตัวประสานนี้ไม่ได้เรียกเครือข่ายขาออก ให้ใช้การควบคุมการเก็บรักษาของคุณเองกับผลลัพธ์ของ batch
การวัดและส่งข้อมูลที่ปลอดภัยและการขัดล้างบันทึก
หัวข้อที่มีชื่อว่า “การวัดและส่งข้อมูลที่ปลอดภัยและการขัดล้างบันทึก”ผลลัพธ์ของ batch รายงานจำนวนและเวลา ไม่ใช่เนื้อหาของเอกสาร ให้ขัดล้างตัวระบุ manifest จากบันทึกหากมันเข้ารหัสข้อมูล tenant หรือข้อมูลคดี
ความสอดคล้อง
หัวข้อที่มีชื่อว่า “ความสอดคล้อง”ไม่มีการอ้างความสอดคล้องกับมาตรฐานสำหรับโมดูลนี้ มันเป็นชั้นการประสาน การส่งต่อความสอดคล้องแบบเลือกใช้มอบหมายให้เกตเวย์ความสอดคล้องของ Enterprise ซึ่งพกพาเอกสารอ้างอิงของตนเอง
พฤติกรรมในโหมด FIPS
หัวข้อที่มีชื่อว่า “พฤติกรรมในโหมด FIPS”โมดูลนี้ไม่ได้ทำการดำเนินการทางการเข้ารหัส
แบบจำลองภัยคุกคาม
หัวข้อที่มีชื่อว่า “แบบจำลองภัยคุกคาม”อินพุตหลักคือ manifest และตัวแปรที่ผู้เรียกใช้จัดหามา การลดผลกระทบ ได้แก่ ขอบเขตที่เข้มงวดของ manifest ต่อ batch การทำงานพร้อมกันที่มีขอบเขต การตรวจสอบผลลัพธ์ที่สืบทอดมาซ้ำแบบเลือกใช้ และการไม่มี network I/O ในตัวประสานเอง
สัญญาด้านพฤติกรรม
หัวข้อที่มีชื่อว่า “สัญญาด้านพฤติกรรม”executeBatch()รัน manifest แต่ละรายการผ่านตัวรัน pipeline ของ Pro และคืนผลลัพธ์ต่อ manifest พร้อมจำนวนที่เสร็จสมบูรณ์และล้มเหลวและเวลา- ขอบเขตที่เข้มงวดจำกัดจำนวน manifest ต่อ batch การเกินขอบเขตจะยกข้อผิดพลาด resource-guard แทนที่จะลดทอนอย่างเงียบ ๆ
- timeout ทั่วทั้ง batch เป็นศูนย์หมายถึงไม่มี timeout ของ batch ค่าที่มีขอบเขตจำกัดจะจำกัด manifest ที่ค้าง
- เมื่อเปิดใช้งาน การส่งต่อความสอดคล้องจะตรวจสอบ PDF ที่สืบทอดมาแต่ละรายการซ้ำและรายงานความล้มเหลวของขั้นตอนเมื่อไม่พบ PDF ที่จดจำได้ต้นน้ำแทนที่จะผ่านอย่างเงียบ ๆ
ขอบเขตการเผยแพร่
หัวข้อที่มีชื่อว่า “ขอบเขตการเผยแพร่”หน้านี้บันทึกเฉพาะพฤติกรรมที่สังเกตได้จากภายนอกและพื้นผิว public API ที่รองรับเท่านั้น เส้นทาง namespace ภายใน คลาสตัวช่วย ตารางกลไก ชื่อไฟล์ runbook และคำนำหน้า ticket อยู่นอกขอบเขต
การถอยกลับไปใช้ Core
หัวข้อที่มีชื่อว่า “การถอยกลับไปใช้ Core”NextPDF Core ไม่มีโมเดล output-pipeline การปรับใช้แบบ Core เท่านั้นประกอบขั้นตอนของตนเองโดยตรงกับ Core API ไม่มี manifest ไม่มีการประสาน batch และไม่มีการส่งต่อความสอดคล้อง
การถอยกลับไปใช้ Pro
หัวข้อที่มีชื่อว่า “การถอยกลับไปใช้ Pro”ในการปรับใช้แบบ Pro เท่านั้น พื้นผิวที่รองรับคือ output pipeline แบบ manifest เดียวของ Pro (pro.output.pipeline) คือ PipelineExecutor ของ Pro รันหนึ่ง manifest ในแต่ละครั้ง Pro ไม่ได้ จัดหาตัวประสาน batch ตัวป้องกัน batch แบบ bounded-concurrency timeout ต่อ batch หรือการส่งต่อความสอดคล้องของ Enterprise การกำหนดค่าที่ร้องขอการประสาน batch หรือการส่งต่อความสอดคล้องในการปรับใช้แบบ Pro เท่านั้นจะไม่มีส่วนประกอบ Enterprise มาตอบสนอง ดู Pro overview สำหรับพื้นผิวไปป์ไลน์ของ Pro
บันทึกขอบเขตของ Enterprise
หัวข้อที่มีชื่อว่า “บันทึกขอบเขตของ Enterprise”การประสาน batch ขอบเขตของ resource-guard และการต่อสาย compliance-handoff ถูกอธิบายในระดับพฤติกรรมเท่านั้น โปรโตคอลการกระจาย sidecar ภายใน ความหมายของ backpressure ภายใน และการต่อสาย compliance-gateway ภายในอยู่นอกขอบเขตของพื้นผิวสาธารณะและไม่ได้ทำซ้ำในที่นี้
ขอบเขตการปรับใช้
หัวข้อที่มีชื่อว่า “ขอบเขตการปรับใช้”ในการใช้งานจริง การกระจาย worker แบบขนานและ backpressure ถูกจัดการโดย sidecar การทำงานแยกต่างหาก ตัวประสาน PHP ที่อธิบายในที่นี้จัดหาการประสาน batch และตรรกะการส่งต่อความสอดคล้องและถูกเรียกใช้โดย job worker ไม่ใช่โดยตัวจัดการคำขอโดยตรง การกำหนดขนาด worker pool การจัดเตรียม sidecar และขีดจำกัดการทำงานพร้อมกันเทียบกับ PHP worker pool เป็นความรับผิดชอบของผู้ดำเนินการ การส่งต่อความสอดคล้องเป็นตัวช่วยตรวจสอบซ้ำ ไม่ใช่การควบคุมการให้สิทธิ์
ขอบเขตการปฏิบัติตามกฎหมาย
หัวข้อที่มีชื่อว่า “ขอบเขตการปฏิบัติตามกฎหมาย”การส่งต่อความสอดคล้องแบบเลือกใช้รันการตรวจสอบซ้ำเหนือเอกสารที่สืบทอดมา มันรายงานข้อค้นพบ ไม่ได้รับรองเอกสาร รับประกันความเพียงพอตามกฎระเบียบ หรือเป็นคำแนะนำทางกฎหมาย การตัดสินว่าผลลัพธ์เป็นไปตามภาระผูกพันของคุณหรือไม่เป็นความรับผิดชอบของคุณ
ดูเพิ่มเติม
หัวข้อที่มีชื่อว่า “ดูเพิ่มเติม”- Output pipeline (Enterprise reference) — เอกสารอ้างอิง API ของตัวประสาน batch
- Pro overview — output pipeline ที่อยู่เบื้องล่าง
- Enterprise overview
- Core vs Pro vs Enterprise feature matrix