BitTorrent ดีสำหรับการคัดลอกไฟล์ระหว่างเซิร์ฟเวอร์ในที่ทำงานหรือไม่?


12

ฉันมีเซิร์ฟเวอร์ต้นทาง 1 ตัวที่มีไฟล์ประมาณ 30GB ซึ่งฉันต้องการคัดลอกไปยังเซิร์ฟเวอร์อื่น ๆ 7 แห่ง ตอนนี้ฉัน SCP ไฟล์ไปยังเซิร์ฟเวอร์สี่ตัวแรกและเมื่อการถ่ายโอนนั้นสมบูรณ์ SCP ไปยังเซิร์ฟเวอร์ 3 ตัวสุดท้าย

การใช้ BitTorrent จะเร็วกว่าเพื่อแจกจ่ายไฟล์ให้กับทั้ง 7 ในครั้งเดียวหรือไม่ การเชื่อมต่อภายในมีความรวดเร็วและสอดคล้องกันระหว่างเซิร์ฟเวอร์แต่ละตัว ฉันรู้ว่ามันอาจจะใช้เวลาโหลดออกเซิร์ฟเวอร์แหล่งที่มา แต่มันจะใช้เวลานานในการกระจายไฟล์?

ไคลเอนต์สคริปต์ที่ดีที่ฉันสามารถใช้จากเชลล์คืออะไร ฉันต้องการให้ทุกคนหยุดการเพาะหลังจาก 100%

คำตอบ:


7

ขึ้นอยู่กับว่าเครือข่ายของคุณวางไว้ที่ใดและมีจุดคอขวดอย่างไร แต่ก็สามารถใช้ BitTorrent ได้เร็วขึ้น ในทางทฤษฎีแล้วแทนที่จะส่งไฟล์เดียวกัน 7 ไฟล์เซิร์ฟเวอร์ต้นทางของคุณควรจะส่ง 1 สำเนาออกไปโดยแยกระหว่างตัวรับ เมื่อถึงเวลาที่เกิดขึ้นเพื่อนร่วมงานที่เหลือจะแบ่งปันชิ้นส่วนที่ไม่ได้รับโดยตรงจากพวกเขา

หากเครือข่ายของคุณรองรับมัลติคาสต์อาจเป็นเรื่องง่ายกว่าที่จะตั้งค่าudpcast , mdp , multisendหรืออะไรทำนองนั้นแหล่งที่มาของคุณจะส่งสำเนาข้อมูลเพียงชุดเดียวและเครือข่ายจะกำหนดเส้นทางไปยังผู้รับทุกคน


เราลงเอยด้วยวิธีมัลติคาสต์โดยใช้ Udpcast และมันทำงานได้อย่างสมบูรณ์แบบ!
Edward

3

ข้อได้เปรียบของ BitTorrent มากกว่าเครื่องมือกระจายไฟล์อื่น ๆrsyncคือลูกค้าเริ่มให้ข้อมูลกับลูกค้ารายอื่นดังนั้นหากเซิร์ฟเวอร์มีการเชื่อมต่อที่ช้ากับลูกค้าปริมาณงานจะดีขึ้นมาก

BT เป็นโปรโตคอลที่ออกแบบมาสำหรับการแบ่งปันทั่วโลก ดังนั้นคุณจะต้องหาวิธีที่จะปิดกั้นลูกค้าอื่น ๆ ทั้งหมด แต่ 7 คนที่คุณต้องการให้ฟีด (หรือฝนตกหนักของคุณจะสิ้นสุดใน The Pirate Bay)

สำหรับการหยุดที่ 100% ลูกค้า BT ทุกคนจะทำเช่นนั้น: เนื่องจากไม่มีลูกค้าร้องขอข้อมูลอีกต่อไปจึงไม่มีการเริ่มต้น แอปพลิเคชันจะยังคงทำงาน แต่จะทำให้ข้อมูลเล็กน้อยระหว่างไคลเอนต์และตัวติดตามเพื่อบอกว่ายังคงมีอยู่

ลองใช้ไคลเอนต์ BitTorrent ดั้งเดิมซึ่งเขียนด้วย Python สิ่งนี้จะช่วยให้คุณทำการแก้ไขใด ๆ ที่คุณต้องการ ขออภัยฉันไม่พบลิงค์ ATM ใคร?

[แก้ไข] ตามความคิดเห็นsaua : หากคุณใช้ตัวติดตามส่วนตัวเพลงของคุณไม่ควรแพร่กระจายโดยไม่คาดคิด ที่กล่าวว่าคุณควรใช้ไคลเอนต์ฝนตกหนักจากแหล่งที่เชื่อถือได้เท่านั้น ไม่เช่นนั้นคุณอาจเสี่ยงที่แครกเกอร์บางตัวใส่คุณสมบัติพิเศษเล็กน้อยลงในโค้ดที่เผยแพร่เพลงส่วนตัวที่ไหนสักแห่งที่คุณไม่ต้องการให้ปรากฏ


2
การไม่ทำให้สาธารณะฝนตกหนักนั้นทำได้ง่าย ๆ โดยใช้ตัวติดตามส่วนตัว
Joachim Sauer

1
คุณแน่ใจ 100% ว่าซอร์สโค้ดของลูกค้าไม่มี "เฮ้เราจะบอกเซิร์ฟเวอร์แฮ็กเกอร์เกี่ยวกับรหัสฝนตกหนักนี้" หรือไม่ ฉันไม่อยากเสี่ยงที่คอของฉันที่นี่
Aaron Digulla

7
หากคุณไม่เชื่อถือรหัสและเรียกใช้ต่อไปการมีข้อมูลรั่วไหลเกี่ยวกับเพลงส่วนตัวของคุณนั้นเป็นสิ่งที่คุณกังวลน้อยที่สุด
Michael Borgwardt

1

BitTorrent เป็นความคิดที่ดีถ้าคุณต้องการทำซ้ำไฟล์ผ่านทรีของเซิร์ฟเวอร์โดยไม่ต้องออกคำสั่งจากระยะไกลไปยังเซิร์ฟเวอร์ทั้งหมดเพื่อคัดลอกจากที่เดียวกัน อาจทำให้เกิดคอขวด

วิศวกร Twitter ทำสิ่งนี้ได้สำเร็จด้วย Murder ซึ่งตอนนี้มันเป็น github

http://engineering.twitter.com/2010/07/murder-fast-datacenter-code-deploys.html


0

หากเซิร์ฟเวอร์ทั้ง 8 ตัวของคุณเชื่อมต่ออยู่ในส่วนเดียวกันของเครือข่ายโดยใช้ Bit Torrent ไม่น่าจะเพิ่มความเร็ว ในความเป็นจริงคุณจะได้รับการชนหลายครั้งซึ่งอาจจะช้ามาก BitTorrent จะทำสิ่งต่าง ๆ ให้เร็วขึ้นหากคุณใช้เครือข่ายที่มีการสับเปลี่ยนอย่างเต็มที่และเซิร์ฟเวอร์ทั้งแปดนั้นสามารถพูดคุยกันได้อย่างอิสระโดยไม่ส่งผลกระทบต่อการสื่อสารระหว่างเซิร์ฟเวอร์อื่น ๆ


จุดที่ดี - แต่มีเครือข่ายมากมายจริงๆที่ไม่ได้เปลี่ยนอย่างเต็มที่อีกต่อไปหรือไม่
phyllis diller

2
เมื่อครั้งสุดท้ายที่คุณเห็นฮับเชื่อมต่อเซิร์ฟเวอร์ ทุกวันนี้พวกเราทุกคนใช้เครือข่ายสวิตช์เพล็กซ์เต็มรูปแบบ
Mircea Vutcovici
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.