คำตอบนี้เป็นข้อมูลเพิ่มเติมเกี่ยวกับข้อควรพิจารณาเกี่ยวกับความสามารถในการปรับขนาด - ถ้าจำนวนคนงานสามารถสูงและ / หรือหลายคนสามารถสร้างบันทึกในอัตราที่สูงในเวลาเดียวกัน
ใช่การใช้ไฟล์บันทึกหลายไฟล์พร้อมกันเป็นวิธีปฏิบัติที่ดี
ความพยายามที่จะรวมกันเป็นล็อกไฟล์บันทึกเดียวจากคนงานหลายคนในเวลาจริงจะทำให้เกิดปัญหา:
- การใช้กลไกการบล็อกเพื่อป้องกันการสูญหายของข้อความจะทำให้พนักงานทำงานช้าลง
- ข้อความบันทึกสามารถปรากฏขึ้นนอกลำดับใน logfile รวม
- สิ่งอำนวยความสะดวกการบันทึกข้อมูลแบบรวมศูนย์ซึ่งรวมการบันทึกสามารถโอเวอร์โหลดเนื่องจากความเร็วในการเขียน จำกัด ข้อความจะหายไป
Sharding logfiles (ใช้หลาย logfiles ที่ใช้งานในเวลาเดียวกัน) เป็นเทคนิคที่ใช้โดยผู้ให้บริการโฮสติ้งบางรายที่นำเสนอบริการการบันทึกรวมศูนย์ที่มีประสิทธิภาพสูงและปรับขนาดได้ ตัวอย่างเช่นเมื่อส่งออกบันทึกไปยังไฟล์การบันทึก StackDriverของ Google จะสร้างไฟล์บันทึกหลายรายการ จากรายการบันทึกใน Google Cloud Storage :
เมื่อคุณส่งออกบันทึกไปที่ฝากข้อมูล Cloud Storage, Stackdriver Logging จะเขียนชุดไฟล์ไปยังที่ฝากข้อมูล ไฟล์ถูกจัดระเบียบในลำดับชั้นไดเรกทอรีตามประเภทของบันทึกและวันที่ ประเภทบันทึกจะเป็นชื่อที่เรียบง่ายเหมือนหรือชื่อสารประกอบเช่นsyslog
appengine.googleapis.com/request_log
หากบันทึกเหล่านี้ถูกเก็บไว้ในที่ฝากข้อมูลชื่อmy-gcs-bucket
ไดเรกทอรีจะถูกตั้งชื่อตามตัวอย่างต่อไปนี้:
my-gcs-bucket/syslog/YYYY/MM/DD/
my-gcs-bucket/appengine.googleapis.com/request_log/YYYY/MM/DD/
ที่ฝากข้อมูลเดียวสามารถมีบันทึกจากหลายประเภทบันทึก
ไดเร็กทอรี leaf ( DD/
) มีหลายไฟล์แต่ละไฟล์เก็บรายการบันทึกที่เอ็กซ์พอร์ตสำหรับช่วงเวลาที่ระบุในชื่อไฟล์ ไฟล์จะถูกแบ่งส่วนและชื่อจะลงท้ายด้วยหมายเลขชาร์ด
Sn
หรือAn
(n = 0, 1, 2, ... ) ตัวอย่างเช่นต่อไปนี้เป็นไฟล์สองไฟล์ที่อาจเก็บไว้ภายในdirectory
my-gcs-bucket/syslog/2015/01/13/
:
08:00:00_08:59:59_S0.json
08:00:00_08:59:59_S1.json
สองไฟล์เหล่านี้รวมกันมีsyslog
รายการบันทึกสำหรับอินสแตนซ์ทั้งหมดในระหว่างชั่วโมงเริ่มต้น 0800 UTC ในการรับรายการบันทึกทั้งหมดคุณต้องอ่านเศษทั้งหมดสำหรับแต่ละช่วงเวลาในกรณีนี้ส่วนไฟล์ 0 และ 1 จำนวนไฟล์ที่เขียนสามารถเปลี่ยนได้ทุกช่วงเวลาขึ้นอยู่กับปริมาณรายการบันทึก
บริการบันทึกประสิทธิภาพสูงเช่นนี้ยังสามารถเสนอทางเลือกอื่นในการบันทึกไฟล์การจัดการไฟล์บันทึกจึงสามารถหลีกเลี่ยงได้โดยสิ้นเชิงหากเป็นประโยชน์:
สุดท้าย - หากการรวมล็อกไฟล์แบบเรียลไทม์ไม่ใช่ข้อกำหนดที่มีไฟล์บันทึกหลายไฟล์สามารถช่วยในการจัดการบันทึกออฟไลน์:
- ง่ายต่อการคิดค้นการสำรองข้อมูลบันทึกแบบก้าวหน้าการบีบอัดการเก็บถาวรและแผนการกำจัดในที่สุด
- การประมวลผลแบบขนานของบันทึกหลายชุด (logfiles) เป็นไปได้ลด / หลีกเลี่ยงผลกระทบของคอขวด
- ไม่มีการแยกไฟล์และจำเป็นต้องเขียนซ้ำ