คอมพิวเตอร์ : หมวดหมู่

พร็อกซี่ Apache ร่วมกับการตรวจสอบย่อย

โดย Watkin Steven Lloyd 27 มีนาคม 2011 อาทิตย์ 12:57

โพสต์นี้ได้อย่างรวดเร็วจะแสดงวิธีการตั้งค่า proxying ด้วยการตรวจสอบขั้นพื้นฐานโดยใช้ Apache .

ในกรณีของฉันฉันอยากจะมี ฝนตกหนักส่งลูกค้าบิต มีมากกว่าที่จำเป็นอินเทอร์เน็ตดังนั้นฉันสามารถตรวจสอบสถานะและฝนตกหนัก adminster ดาวน์โหลด (เช่นล่าสุด Fedora เป็นที่วางจำหน่าย) ใน การส่ง ตัวเองเรียกลูกค้าเว็บที่มีต่อ 9,091 พอร์ตตามค่าเริ่มต้น แทนที่จะรำคาญเปิดพอร์ตเพิ่มเติมเกี่ยวกับไฟร์วอลล์ของฉันและการเพิ่มกฎการส่งต่อพอร์ต nessecary ฉันตัดสินใจฉันต้องการเพียงแค่พร็อกซี่สายผ่านไปยังการส่งผ่านโดยใช้ Apache mod_proxy .

อ่านต่อ'พร็อกซี่ Apache ร่วมกับการตรวจสอบย่อย'»

Zend Framework : Render ถ้ามี

โดย Watkin Steven Lloyd 12 ธันวาคม 2010 อาทิตย์ 16:19

สรุป

ซึ่งเป็นเรื่องที่ง่ายรวดเร็วเพื่อหารือเกี่ยวกับผู้ช่วยดูค่อนข้างที่ฉันสร้างขึ้นสำหรับการแสดงผล Zend Framework ไฟล์ดูลักษณะเฉพาะในกรณีที่มันมีอยู่ โดยทั่วไปขอรหัสที่จะให้ไฟล์ที่ไม่มีจะโยนข้อยกเว้น ดังนั้นผมจึงสร้างเสื้อคลุมสำหรับ Zend_View : : แสดงผล () วิธีการที่กำหนดว่าแฟ้มมีอยู่และถ้าการแสดงผลเพื่อมิฉะนั้นก็จะส่งกลับสตริงที่ว่างเปล่า
อ่านต่อ'Zend Framework : Render ถ้ามี'»

Zend Certified Engineer (ZCE) 5.3

โดย Watkin Steven Lloyd , กันยายน 30 พฤหัสบดี 2010 21:00

มี วางจำหน่ายอย่างเป็นทางการ ของ Zend Engineer (ZCE) โปรแกรมที่ผ่านการรับรองสำหรับ 5.3 ฉันคิดว่าฉันต้องการให้แสดงผลอย่างรวดเร็วของฉันของสิ่งที่ฉันคิดว่าการสอบ

เล็กน้อยบนตัวเอง : ผมเป็นครั้งแรกเพื่อ PHP เกี่ยวกับ 7 ปีที่แล้วและได้ทำงานอย่างมืออาชีพใน PHP ตั้งแต่ปี 2006 ฉันกำลังทำงานให้น่าตื่นเต้นเริ่มต้นขึ้นที่เรียกว่า Brightpearl อยู่ใน Bristol, UK , ผลิต CRM แบบบูรณาการการบัญชีและซอฟแวร์อีคอมเมิร์ซ ฉันยังไม่ได้รับก่อนหน้านี้ของคุณสมบัติ ZCE ก่อนหน้านี้ ฉันกำลังพัฒนาในชุด 5.2.X และไม่ได้ใช้จริงๆใด ๆ โดยเฉพาะ 5.3 คุณสมบัติ (ฉันรอ Zend Framework 2 และ ลัทธิ 2) ในโครงการพัฒนาของฉัน
อ่านต่อ'Zend Certified Engineer (ZCE) 5.3'»

Zend Framework ต่อการวางรูปแบบโมดูล -- ตามงาน

โดย Watkin Steven Lloyd , วันอังคารที่ 16 กุมภาพันธ์ 2010 20:48

ในฐานะที่ติดตามการโพสต์ก่อนหน้านี้ของฉันใน โมดูลต่อการวางรูปแบบตาม การ Zend Framework เราได้ปรับปรุงก่อนที่รหัสขึ้นไป แต่ไม่จำเป็นต้องกำหนดค่าแล้ว (ไม่ว่าจะต้องเพิ่มเติมว่าไม่กี่บรรทัดในการกำหนดค่าใบสมัครของคุณ!)
อ่านต่อ'Zend Framework Module เลย์เอาต์ต่อการตั้งค่า -- ตามงาน'»

สำนักงาน Grid Computing ใช้เสมือนจริง -- ส่วนที่ 4

โดย Watkin Steven Lloyd 4 ธันวาคม 2009 ศุกร์ 11:59

การแนะนำ

ฉันทำงานในวันที่ บริษัท ที่เราเรียกใช้งานหลายชุดการประมวลผลนับล้านในแต่ละระเบียนของข้อมูลและความคิดของฉันได้รับเมื่อเร็ว ๆ นี้เกี่ยวกับทุกเครื่องที่นั่งแต่ละรอบและชั่วโมงทุกวันทำอะไรหลาย มันจะไม่ดีถ้าเราสามารถใช้เครื่องเหล่านั้นเพื่อหนุนการประมวลผลของระบบของเราหรือไม่ ในบทความนี้ชุดของผมจะพูดถึงประโยชน์ที่อาจเกิดขึ้นของการจ้างสำนักงาน ตาราง โดยใช้สภาพแวดล้อม virtualised

ใน 3 ส่วนหนึ่ง ที่เราได้สร้างเสมือนเครื่องของเราประมวลผลและตั้งค่าเครื่อง Windows ที่จะเป็นคนงานเวลาไม่ได้ใช้งาน

การเรียกใช้รหัสล่าสุด

อย่างแน่นอนหลังจากที่สร้างธุรกิจลอจิกคนงานของคุณจะเปลี่ยนแปลงข้อบกพร่องจะพบรหัสสินค้าที่มีประสิทธิภาพได้เร็วขึ้นจะมีการผลิตออกจากงานของคุณจึงนั่งรอบการประมวลผลข้อมูลโดยใช้ รหัสส่งกลิ่นเก่า . แล้วทำไมเราจะมั่นใจได้ว่าเรามักจะใช้รุ่นล่าสุดและยิ่งใหญ่ที่สุดของสคริปต์ของการประมวลผลของเราหรือไม่

มีไม่กี่ง่ายมากวิธีการง่ายๆที่เราจะได้ดำเนินการดังกล่าวหลอกลวง แต่คือการลดกำลังการประมวลผลและปริมาณการใช้เครือข่ายในการบรรลุเป้าหมายนี้ ช่วยให้เริ่มต้นด้วยการที่ง่ายที่สุดของการแก้ปัญหาและการปรับปรุงช้ากว่าสองสามทำซ้ำ

วิธีแรกจะเป็นเพียงแค่เชื่อมต่อกับเซิร์ฟเวอร์ของเราควบคุมงาน (ผ่าน samba, FTP, หรือคล้ายกัน) และเลื่อนลงมาที่รุ่นล่าสุดของรหัส ที่มีประสิทธิภาพไม่มาก แต่ก็จะทำงานได้ ช่วยให้ดีขึ้นในที่ค่อนข้างวิธีการเกี่ยวกับการสร้างและการใช้สคริปต์ rsync ที่มาแทนกันอย่างไร หรือมิฉะนั้นสิ่งที่เกี่ยวกับการวางสคริปต์การประมวลผลใหม่ล่าสุดของเราในการโค่นล้มการตรวจสอบจากรหัสเริ่มแรกแล้วเพียงแค่การปรับปรุงรหัสของเราบน (เรียกแต่ละ update SVN )?

ในที่สุดเราจะสิ้นสุดกับสคริปต์ทุบตี (เรียกโดย cron ทุก 10 นาที) ซึ่งมีลักษณะอย่างเรียบง่ายเท่านี้

  # / bin / sh
 ถ้าขวาน PS | grep - v grep | grep PHP > / dev / โมฆะ
 จากนั้น
     echo"การทำงานคือการประมวลผลในปัจจุบันที่ออก"
 อื่น
     echo"งานไม่ได้ทำงานอยู่เริ่มต้นตอนนี้"
     เส้นทาง / CD / เพื่อ / การทำงาน / สำเนา
     SVN update
     yourJobProcessingScript.php PHP
 Fi 

ตอนนี้เราสามารถตรวจสอบว่ามีทำงานแต่ละแน่นอนเราใช้รหัสล่าสุด เรากำลังสร้างความมั่นใจนี้โดยการปรับปรุงฐานรหัสของเราแต่ละคนและทุกครั้งที่เราดำเนินการทำงานและลดอัตราการเข้าชมเครือข่ายโดยเฉพาะความแตกต่างของการถ่ายโอนแฟ้มในเครือข่ายของเราทุกครั้ง

ในการตั้งค่าการสาธิตของฉันฉันไม่ตรงตามข้างต้น การโค่นล้มถูกติดตั้งบนเซิร์ฟเวอร์ที่ประมวลผลงานของฉันและฉันก็ดึงรหัสล่าสุดจากสาขา'คน'ใช้'update SVN' ฉันยังเพิ่มแท็กหมายเลขรุ่นสคริปต์การประมวลผลของผมซึ่งได้กลับไปยังฐานข้อมูลเป็นส่วนหนึ่งของผลตอบแทน ทางผมก็เห็นว่ารหัสของฉันคือการปรับปรุงครั้งที่ผมคัดลอกลำต้นของฉันเป็นคนงานคือสาขาที่ผมได้แน่นอนการเรียกใช้สคริปต์การประมวลผลแต่ละล่าสุดนี้

การใช้ข้อมูลล่าสุด

หากการประมวลผลงานของคุณทำให้การใช้แหล่งข้อมูลจากนั้นในบางจุดเหล่านี้จะได้รับการปรับปรุงเกินไป ถ้าคุณไม่โทรแหล่งข้อมูลของคุณเป็นไม่บ่อยมากคุณกำลังจะน้ำท่วมในเครือข่ายของคุณมีการเข้าชมทันทีที่คนงานของคุณเริ่มทำงานนำทุกอย่างหยุดนิ่ง สำหรับการแก้ปัญหาของฉันฉันตัดสินใจว่าฉันต้องการที่จะย้ายแหล่งข้อมูลของฉันรอบกับ VMs ของฉัน

ถือคุณม้ามี! เกิดอะไรขึ้นหากแหล่งข้อมูลของฉันมีขนาดใหญ่? ดีนี่มันพูดถึงกรณีของข้อมูลเป็นเท่าไหร่เรา? มันอาจจะมีประสิทธิภาพมากกว่าค่าใช้จ่ายในการติดตั้งเพิ่มเติมฮาร์ดไดรฟ์ขนาดใหญ่ในแต่ละเครื่องประมวลผลกว่าที่จะซื้อเซิร์ฟเวอร์เพิ่มเติม นี่คือคำถามของงบประมาณและขึ้นอยู่กับธุรกิจในการตัดสินใจ มันอาจจะว่าแหล่งข้อมูลของคุณจึงไม่น่าจะเป็นไปได้ขนาดใหญ่ที่มีเพียงเพื่อให้ข้อมูลที่จํานวนคนงานในเครื่องของคุณ ในกรณีที่คุณจะทำอะไร? ดีที่เราจะได้ดูที่การเรียกข้อมูลเซิร์ฟเวอร์ภายในมี แต่วิธีนี้อาจทำให้เกิดปัญหากับเครือข่าย ในกรณีนี้ระบบตารางเช่นนี้อาจกลายเป็นที่ไม่สมจริงจะรวมไว้ในสภาพแวดล้อมที่ทำงานของคุณ นอกจากนี้ยังอาจเป็นได้ว่าคุณสามารถมองเข้าไปในกลยุทธ์การทำงานทางเลือกเช่นการเรียกคนงานของคุณเท่านั้น 20:00 - 06:00 ในแต่ละคืนและ / หรือแหล่งที่มาอุดการร้องขอข้อมูล

การย้ายที่ช่วยบอกแหล่งข้อมูลจำนวนเงินของเราเพื่อ 100GB ของข้อมูล ดีใช่ว่าไม่น้อยของข้อมูลเพื่อเลื่อนไปยังเครือข่ายในการปรับปรุง เราจะตรวจสอบให้แน่ใจว่าเราได้คัดลอกล่าสุดของข้อมูลในกรณีนี้หรือไม่ rsync เป็นไปได้ แต่โดยส่วนตัวผมคิดว่าการใช้แหล่งข้อมูลของคุณล่าสุดบนเซิร์ฟเวอร์ของคุณประมวลผลการทำงานและการตั้งค่านี้ขึ้นเป็นหลักในการทำซ้ำ (พร้อมเข้าสู่ระบบ bin ดียาว) อาจจะมีทางไป :

การทำซ้ำ โดยการตั้งค่าของแต่ละคนงานของคุณเป็นทาสกับงานการควบคุมการอัปเดตเซิร์ฟเวอร์ไปยังแหล่งข้อมูลของคุณจะหยดลงมาอย่างดีเพื่อคนงานของคุณโดยไม่เพิ่มขึ้นมากในกิจกรรมเครือข่าย (นั่นคือถ้าคุณไม่ดำเนินการปรับปรุงข้อมูลมากและทุกคนงานของคุณจะเตะใน พร้อมกัน) ซึ่งมีผลดีกว่า rsync ในที่ที่คุณจะไม่ได้รับไปพักหนึ่งก่อนที่งานแต่ละคนเป็นอัพเดทฐานข้อมูล, MySQL ภูตในงานของคุณอย่างต่อเนื่องจะปรับปรุงข้อมูลในขณะที่ประมวลผลอย่างต่อเนื่อง

นี่คือวิธีที่ฉันจะตั้งค่าการสาธิตเซิร์ฟเวอร์ของฉัน ในการตั้งค่าการจำลองแบบผมทำตาม (คู่มือ mySQL บนเว็บไซต์ การตั้งค่าการทำซ้ำ ) และภายใน 20 นาทีผมมีคนงานของฉัน inital จำลองการควบคุมชุดข้อมูลงานเซิร์ฟเวอร์ สําหรับคนงานเพิ่มขึ้นในแต่ละการตั้งค่าการจำลองแบบและกระบวนการทำงานในแต่ละครั้งเมื่อ VM ถูกคัดลอก

สรุป

ในส่วนของบทความนี้เราจะดูที่วิธีการที่ง่ายและไม่เจ็บปวดก็คือการเก็บรหัสการประมวลผลของคุณได้ถึงวันที่ rsync using ห​​รือ subverion (SVN) ที่จะทำงานและลดอัตราการเข้าชมเครือข่ายที่ time. เดียวกันนอกจากนี้เรายังกล่าวถึงวิธีการ เพื่อให้ข้อมูลแหล่งที่มาของข้อมูลที่ทันสมัย​​ให้โดยช่วยให้มันหยดลงไปแต่ละคนงานของคุณ ดังนั้นเรามั่นใจว่าพื้นที่ที่เราให้ทันกับเหตุผลทางธุรกิจและข้อมูลในระบบกริดสำนักงานของเรา มีชัดจะเป็นทางเลือกนับไม่ถ้วนเพื่อดำเนินการงานนี้ แต่ที่นี่คือสองตัวอย่างง่ายๆในการแสดงวิธีการแก้ปัญหาที่ง่ายคือการมาโดย

ครั้งต่อไป

ในส่วนสุดท้ายของชุดนี้มีชื่อ aptly ส่วนที่ 5 เราจะหารือเกี่ยวกับการปรับใช้ระบบนี้สำหรับ ฉันจะสรุปสิ่งที่ได้เรียนรู้และสิ่งที่ฉันจัดการเพื่อสร้าง

สำนักงาน Grid Computing ใช้เสมือนจริง -- ส่วนที่ 3

โดย Watkin Steven Lloyd 4 ธันวาคม 2009 ศุกร์ 23:37

การแนะนำ

ฉันทำงานในวันที่ บริษัท ที่เราเรียกใช้งานหลายชุดการประมวลผลนับล้านในแต่ละระเบียนของข้อมูลและความคิดของฉันได้รับเมื่อเร็ว ๆ นี้เกี่ยวกับทุกเครื่องที่นั่งแต่ละรอบและชั่วโมงทุกวันทำอะไรหลาย มันจะไม่ดีถ้าเราสามารถใช้เครื่องเหล่านั้นเพื่อหนุนการประมวลผลของระบบของเราหรือไม่ ในบทความนี้ชุดของผมจะพูดถึงประโยชน์ที่อาจเกิดขึ้นของการจ้างสำนักงาน ตาราง โดยใช้สภาพแวดล้อม virtualised

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

การตั้งค่าการงานของคุณ -- หรือเซิร์ฟเวอร์ปวกเปียก

ก้าวต่อไปในขั้นตอนการกำหนดเวลาให้มีคนงานเสมือนของคุณ สำหรับผมกำลังจะใช้การติดตั้งของ Centos ใช้ VirtualBox ฉันจะติดตั้ง mySQL และ PHP บนเซิร์ฟเวอร์ที่เรียกว่าเป็นปวกเปียก (nux ​​Li, M ySQL, P HP) ServerA (ฉันอาจได้ว่าชื่อขึ้นไป)

  • ติดตั้งในเครื่อง VirtualBox หน้าต่างของคุณ (ตามลิงก์)
  • ดาวน์โหลดและติดตั้ง Centos (รุ่นปัจจุบัน 5.3) ภายในเครื่องเสมือนที่สร้าง

มีจุดใดของฉันไปที่นี้อาจมี's 1,000 ของบทเรียนที่ดีออกมี (ตกลงนี่คือหนึ่ง : การสร้างและการ Managing เสมือนเครื่อง Centos ภายใต้ VirtualBox ) จุดสำคัญที่ควรทราบก็คงจะเป็นที่ฉันเรียกว่าเครื่อง GridMachine เสมือนจริงของฉัน

เท่าที่ตัวเลือกของฉันของลูกค้าเสมือนจริงและระบบปฏิบัติการไปไม่มีเหตุผลที่น่าสนใจใหญ่สำหรับแต่ละตัวเลือก VirtualBox เป็นสิ่งที่ฉันใช้ในเครื่องบ้านของฉันและได้รับการสนับสนุนโดยสามระบบปฏิบัติการหลัก ผมเลือก Centos เป็นระบบปฏิบัติการที่ดีมีความคงตัวและจะใช้งานได้บนเว็บเซิร์ฟเวอร์ของตัวเอง ผมเชื่ออย่างมากในเครื่องมือที่เหมาะสมสำหรับงาน (แม้ว่าฉันใช้'ใช้เร็วและง่ายที่สุดสำหรับคุณความคิดที่นี่) ดังนั้นหากระบบปฏิบัติการเอ็กซ์เรียกรหัสของคุณได้เร็วและมีประสิทธิภาพมากขึ้นใช้นั้นแทน :)

ที่สำคัญตรวจสอบให้แน่ใจว่าคุณใช้ VM DHCP, อื่น ๆ สำหรับเครื่องเสมือนใหม่แต่ละตัวจะต้องมีการกำหนดค่าแยกจากกันซึ่งเป็นสิ่งที่เราไม่ได้ want.By ใช้ DHCP เราไม่จำเป็นต้องตั้งค่าเครือข่ายสำหรับเครื่องทีละคนงาน, DHCP จะมือ IP ที่ออกสำหรับคุณ ดังนั้นคุณสามารถคัดลอกเสมือนเครื่องของคุณเกี่ยวกับสำนักงานโดยไม่ต้องกังวลเกี่ยวกับการตั้งหนึ่งอัพ (นี้ช่วยเพิ่มความยืดหยุ่นและลดการบริหารคนงาน)

ขั้นตอนที่คุณควรมุ่งมั่นที่จะประสบความสำเร็จจะได้รับเครื่องทางกายภาพใหม่ให้ติดตั้ง VirtualBox แล้วสวยมากปรับใช้รูปแบบเสมือนได้โดยไม่ต้องอะไรอย่างอื่น มันอาจจะฉลาดการติดตั้งทั้งหมดที่คนงานของคุณใน subnet ที่แตกต่างกันเพื่อให้คุณอย่างน้อยสามารถดูจำนวนเครื่องที่กำลังใช้งาน นอกจากนี้คุณจะต้องตั้งค่าเครื่องของคุณในสัญญาเช่าระยะยาวหรือให้เช่าได้ไม่ จำกัด DHCP

วิธีการเรียกใช้งานในคนงาน

นี้เป็นพื้นที่ที่น่าสนใจและมีวิธีการที่ถูกต้องหลายประการสำหรับงานประมวลผลในงาน ต่อไปนี้ผมจะหารือเกี่ยวกับสองอย่างเห็นได้ชัดมากที่สุด

  • โดยเป็นนิจรันสคริปต์ : สคริปต์ไม่ว่าจะเป็นเชลล์สคริปต์หรือสคริป PHP จะถูกดำเนินการครั้งเดียวในคนงานและมีการทำงานเป็นส่วนหนึ่งของวนซ้ำ ฉันคิดลดวิธีนี้เป็นหนึ่งในความผิดพลาดของสคริปต์และคนงานของคุณอาจจะหยุดทำงานโดยไม่ต้องเรียงลำดับของการแทรกแซงบางอย่าง
  • การเรียกสคริปต์ Cron ตาม : ทุกนาที X ภูต cron kicks ปิดการเรียกร้องให้สคริปต์ของคุณได้รับสิ่งที่จะ หากไม่มีการตรวจสอบบางครั้งนี้อาจนำไปสู่​​สำเนาหลายหลายของสคริปต์ที่ใช้งานของคุณ

การตัดสินใจของฉันได้ไปกับ cron ซึ่งเตะปิดเชลล์สคริปต์ทุก 10 minutes. เชลล์สคริปต์ของฉันจะดำเนินงานต่อไปนี้

  1. ข้อมูลรายชื่อกระบวนการและ grep นี้สำหรับ'PHP' หากไม่พบแล้วดำเนินการต่อ
  2. เรียกรหัสงานของคุณในกรณีของฉันนี้จะสิ่ง PHP ตาม
  3. สคริปต์ทำงานของคนงานเสร็จสมบูรณ์
  4. พร้อมที่จะไปอีกครั้งในการโทรตามความเหมาะสมต่อไป

ทุบตีสคริปต์ของฉันจะมีลักษณะเช่นดังต่อไปนี้

  # / bin / sh
 ถ้าขวาน PS | grep - v grep |> PHP grep / dev / โมฆะ
 จากนั้น
     echo"การทำงานคือการประมวลผลในปัจจุบันที่ออก"
 อื่น
     echo"งานไม่ได้ทำงานอยู่เริ่มต้นตอนนี้"
     yourJobProcessingScript.php PHP
 Fi 

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

ที่สรุปการตั้งค่าของเครื่องเสมือนคนงานได้อย่างรวดเร็วง่ายและสะดวกในการคัดลอกไปยังแต่ละชิ้นใหม่ของฮาร์ดแวร์ที่ได้รับ 'ฉลาด'ของระบบตารางจริงๆไม่ได้อยู่ในมองเห็นระบบปฏิบัติการทั้งหมดของมันจะมีรหัสที่สร้างขึ้นเพื่องานกระบวนการการกำหนดค่างานและในการทำให้แน่ใจว่างานที่จะทำงานเมื่อ IE (ตามที่เหมาะสมให้บริการพื้นที่ไม่ได้ใช้งาน )

การตั้งค่า Windows ให้เริ่มต้นได้คนงาน

งานแรกคือการทำงานคำสั่งจำเป็นต้องใช้เครื่องเสมือนจากบรรทัดคำสั่งหน้าต่าง ถ้าคุณได้ติดตั้ง VirtualBox ในตำแหน่งเริ่มต้นและคุณได้ชื่อว่าเป็นคนงานคนงานของคุณ GridMachine แล้วคำสั่งที่จำเป็นในการขึ้นโหลดของคุณ :

  "C : \ Program Files \ Sun \ VirtualBox \ VBoxManage.exe"GridMachine startvm 

อย่างไรก็ตามเพื่อเรียกใช้สคริปต์ในรัฐ'โง่'เราจำเป็นต้องใช้ :

  "C : \ Program Files \ Sun \ VirtualBox \ VBoxHeadless.exe"GridMachine startvm -- vrdp = off 

นี้จะเริ่มเครื่องเสมือนได้โดยไม่ต้อง GUI และอนุญาตให้บันทึกรัฐได้อย่างสง่างาม อาร์กิวเมนต์ที่สองจะปิด RDP ดังนั้นจึงไม่ได้ขัดแย้งกับ Windows RDP, หรือให้คุณ 3,389 ข้อความเกี่ยวกับการฟังในพอร์ต. เครื่องชื่อเสมือนมีความไวต่อกรณี!

ต่อไปเราจะต้องตั้งค่าหน้าต่างได้ถึงเตะออก VM คนงานของเราเมื่อเครื่องไม่มีการใช้งาน เมื่อต้องการทำเช่นนี้ (ใน Windows XP) คุณจะต้องไปที่ Start --> All Programs --> Accessories --> System Tools --> Scheduled Tasks ดังนี้

งานที่กำหนดเวลา

คลิกที่'เพิ่ม Scheduled Task'ตามด้วยเบราส์เพื่อเพิ่มโปรแกรมที่กำหนดเอง นำทางไปยังสคริปต์ VBoxManage ของคุณและคลิก OK ตารางงานของคุณสำหรับตัวเลือกใด ๆ (เราจะเปลี่ยนนี้ในนาที) และดำเนินการต่อ หลังจากการกระโดดหน้าต่างหน้าจอถัดไปจะขอให้คุณผู้ที่คุณต้องการเรียกใช้งานนี้ผมขอแนะนำให้ทั้ง'ผู้ดูแลระบบหรือสร้างผู้ใช้ที่มีสิทธิพิเศษใหม่ โปรดจำไว้เราไม่ต้องการรบกวนการทำงานของพนักงานบัญชีมาตรฐานในเครื่องที่จุดใด ๆ คลิกตัวเลือกการแสดงถัดไปและตรวจสอบขั้นสูงสำหรับงานนี้

เมื่อต้องการเรียกใช้ unticked ท้ายของช่อง'ของเรา startvm'GridMachine เพิ่มสตริงและตรวจสอบว่าใช้เฉพาะเมื่อเข้าสู่ระบบทางด้านซ้ายมือ เข้าเยี่ยมชมงานตารางต่อไปและการเปลี่ยนแปลงเลื่อนกำหนดการลงไปที่ตัวเลือก'เมื่อไม่ได้ใช้งาน'เลือกระยะเวลาที่คุณต้องการเครื่องที่จะไม่ได้ใช้งานก่อนที่จะย้ายไปยังแท็บถัดไป

สุดท้าย untick ตัวเลือกที่ระบุหยุดงานหากมีการใช้จำนวนเงิน X ของเวลา แต่จะทำเครื่องหมายที่ตัวเลือกที่จะหยุดงานถ้าเครื่องไม่อยู่ไม่ได้ใช้งาน

ตารางเวลา

เพียงเท่านี้เองแล้วสำหรับการติดตั้งโฮสต์ Windows!

สรุป

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

ครั้งต่อไป

ใน ส่วนที่ 4 เราจะดูที่การใช้เครื่องมือเพื่อให้แน่ใจว่าคุณใช้เวอร์ชั่นล่าสุดของแหล่งข้อมูลและรหัสเพื่อให้ผลที่ได้รับอยู่เสมอที่ทันสมัยกับธุรกิจข้อมูลล่าสุดและตรรกะ

สำนักงาน Grid Computing ใช้เสมือนจริง -- ส่วนที่ 1

โดย Watkin Steven Lloyd 4 ธันวาคม 2009 ศุกร์ 23:23

การแนะนำ

ฉันทำงานในวันที่ บริษัท ที่เราเรียกใช้งานหลายชุดการประมวลผลนับล้านในแต่ละระเบียนของข้อมูลและความคิดของฉันได้รับเมื่อเร็ว ๆ นี้เกี่ยวกับทุกเครื่องที่นั่งแต่ละรอบและชั่วโมงทุกวันทำอะไรหลาย มันจะไม่ดีถ้าเราสามารถใช้เครื่องเหล่านั้นเพื่อหนุนการประมวลผลของระบบของเราหรือไม่ ในบทความนี้ชุดของผมจะพูดถึงประโยชน์ที่อาจเกิดขึ้นของการจ้างสำนักงาน ตาราง โดยใช้สภาพแวดล้อม virtualised

ในฐานะที่เป็น PHP Developer ฉันจะใช้เครื่องมือที่ผมใช้ในแต่ละวันคือ, Linux, mySQL , PHP, VirtualBox และการโค่นล้ม (SVN) แต่ฉันหวังว่าคู่มือนี้จะปรับตัวเข้ากับภาษาอื่น ๆ และเทคโนโลยีเช่นเดียวกับที่ดี

แก้ปัญหาผมให้มากจะเป็นไปตามอย่างอิสระกับชนิดของการประมวลผลที่เราต้องการต้องบรรลุ แต่อาจไม่เป็นจริงผ่านบทความทั้งหมดที่ฉันจะเปลี่ยนแปลงสิ่งต่างๆเพื่อความเรียบง่ายหรือการผลิตแบบการใช้งานที่น่าสนใจมากขึ้น

เหล่านี้สภาพแวดล้อม virtualised จะทำงานบนเครื่อง Windows เพราะนี่เป็นสิ่งที่เสียงส่วนใหญ่ของสำนักงานทำงาน การประมวลผลที่เครื่องที่สำนักงานไม่ควรรบกวนการทำงานของบุคลากรที่ใช้เครื่องเหล่านี้ควรจะต้องบำรุงรักษาที่เครื่องไม่และจะได้อย่างง่ายดาย deployable ไปเครื่องใหม่ที่พวกเขาจะพร้อมใช้งาน นอกจากนี้เสมือนเครื่องใหม่ไม่ควรต้องมีการกำหนดค่าเพิ่มเติมใด ๆ เช่นนี้ช่วยลดความยืดหยุ่นและความสะดวกที่ระบบกริดสามารถขยายได้

ทำไมปรับใช้กริดคอมพิวเตอร์ Office?

ประการแรกคุณอาจจะคิดทำไมไม่เพียงใช้ทรัพยากรคอมพิวเตอร์เมฆเช่น แพลตฟอร์มของ Amazon EC2 ? เหตุผลที่ดีอาจจะหลาย ๆ ตัวอย่างเช่น

  • คุณจะไม่มอบหมายให้ข้อมูลบางอย่างไปยังระบบคอมพิวเตอร์เมฆ
  • คุณไม่สามารถใส่ข้อมูลบางอย่างลงในระบบคอมพิวเตอร์เมฆด้วยเหตุผลทางกฎหมาย (เช่นข้อมูลออกจากประเทศ) อาจด้วยเหตุผลทางด้านกฎหมายเช่นระเบียน NHS
  • คุณต้องการเก็บหน่วยประมวลผลของคุณใกล้ชิดและมีการควบคุมเต็มรูปแบบผ่านฮาร์ดแวร์เกินไป
  • คุณไม่ได้รับเงินโครงการเพื่อเรียกใช้อินสแตนซ์เมฆ
  • สำนักงานของคุณไม่ได้เชื่อมต่ออินเทอร์เน็ตและดังนั้นจึงไม่สามารถใช้ทรัพยากรของเมฆ
  • คุณไม่ชอบฝน, เมฆฝนขอแนะนำให้ดังนั้นคุณให้ดีออกไป

ผมมั่นใจว่ารายการจะสามารถพูดต่อ แต่ผมคิดว่าพอสำหรับตอนนี้

ข้อดีของการ Grid Computing สำนักงาน

ดีช่วยให้ทำเลขบางคน (และในสไตล์ฟิสิกส์จริงจะช่วยให้ทำสมมติฐานบางกวาด) ลองนึกภาพคุณมีเซิร์ฟเวอร์ที่ใช้การประมวลผลขนาดใหญ่มี แต่เนื้องาน 100 ต่อวัน ในที่ทำงานของคุณคุณมี 50 เครื่องที่ไม่ได้ใช้งาน 16 ชั่วโมงต่อวันโดยที่แต่ละเครื่องเหล่านี้เป็น 10% ที่มีประสิทธิภาพด้านการประมวลผลของคุณอ้วนตัด (ผลลัพธ์ทั้งหมดต่อไปนี้เป็นโค้งมนในการเพิ่มประสิทธิภาพประมาท)

ดังนั้น 1 เครื่อง * 10% * อำนาจ 2 / 3 ครั้ง = 0.067 นั่นคือการประมวลผลเดสก์ทอป 1 ในเวลาไม่ได้ใช้งานสามารถประมวลผล 6 งานเต็มต่อวัน

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

ดังนั้นในสำนักงานของเราทำเป็น 50 เครื่องเราสามารถเพิ่มพลังการประมวลผลของเราจาก 1 เซิร์ฟเวอร์ได้ถึง 4 เซิร์ฟเวอร์ที่ประมวลผลเต็มหรือเราอาจจะประมวลผลงาน 400 ต่อวันแทน 100

แจ้งให้ทราบสำหรับฮาร์ดแวร์ไม่มีการลงทุนใหม่ใน บริษัท ของคุณมีกำลังการผลิตเพิ่มขึ้นเพียงแค่การประมวลผลแบทช์ที่ 4 ครั้ง! ที่อาจคุณกำลังจะเพิ่มการใช้พลังงานของคุณ แต่จากสภาพแวดล้อมมากที่สุดสำนักงานผมเคยไปเครื่องที่เหลือโดยทั่วไปในชั่วข้ามคืนอยู่แล้วดังนั้นคุณอาจเห็นนี้เป็นความคิดริเริ่มสีเขียว

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

เทคโนโลยี

สิ่งที่คุณต้อง? (หรือมากกว่าสิ่งที่ไม่ถูกต้องผมใช้) :

  • ไม่ได้ใช้งานเครื่องใช้สำนักงาน (ในกรณีของฉันแล็ปท็อปอะไหล่เก่า Windows XP)
  • VirtualBox (หรืออื่นซอฟต์แวร์ไคลเอ็นต์เสมือนจริง)
  • เครื่องเสมือนกับ PHP, mySQL running ที่ใช้ OS ลดลงฉันเรียกปวกเปียกเซิร์ฟเวอร์ของฉันนี้ :)
  • เพื่อเรียกใช้งาน
  • งานเซิร์ฟเวอร์ (สามารถควบคุมเครื่องเสมือนที่อื่น)

งานทั่วไป

ประเภทของงานที่ระบบนี้ได้รับการออกแบบเพื่อให้ทำงานมีดังนี้

  • ระบบได้รับรายชื่อของข้อมูลตามที่เราต้องการเพื่อให้ตรงและส่งกลับผลลัพธ์
  • การจับคู่เกี่ยวข้องกับการตรวจสอบ / ค้นหาหลาย (ค่อนข้างคงที่) แหล่งข้อมูล
  • ผลที่ได้จากแหล่งข้อมูลที่อาจต้องมีการตรวจสอบเพิ่มเติมได้ที่ผสานการตรวจสอบแหล่งข้อมูลเพิ่มเติมในการตอบสนองต่อผล
  • ข้อมูลจะถูกส่งกลับที่มีผลการจับคู่ผ่านการตรวจสอบอย่างเต็มที่และประมวลผล
  • บันทึกภายในงานแต่ละคนเป็นอิสระจากส่วนที่เหลือ

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

โซลูชั่น Grid ไม่เพียง แต่เป็นประโยชน์สำหรับการประมวลผลของงานประเภทนี้ โดยทั่วไปกระบวนการที่สามารถแยกออกเป็นหน่วยงานอิสระใด ๆ ที่สามารถทำงานในแบบคู่ขนาน ดูข้อมูลนี้วิกิพีเดียสำหรับเป็นตัวอย่างและ : Grid Computing , แต่ตัวอย่างคู่ที่มีชื่อเสียงของที่ SETI @ Home และ BIONC . มีกรอบสำหรับการเรียกใช้กริดคอมพิวเตอร์เป็นและเหล่านี้จะดีคุ้มค่ามอง

สิ่งที่เราจะประสบความสำเร็จ?

เมื่อจบบทความเหล่านี้ผมหวังว่าจะแสดงให้เห็นว่าการใช้ตารางสำนักงานไม่จำเป็นต้องมีราคาแพงมหาศาลหรือใช้เวลานาน ฉันกำลังจะไปหารือ :

  • การตั้งค่าระบบการควบคุมงานการกำหนดค่างาน
  • การสร้างเครื่องเสมือนการประมวลผลที่เหมาะสม
  • วิธีการติดตั้งระบบบนเครื่อง Windows
  • มั่นใจว่าคุณกำลังใช้รหัสและข้อมูลล่าสุด
  • การปรับใช้และการเปรียบเทียบ
  • มองไปข้างหน้า

ฉันจะเป็นอาคาร (ตกลงฉันสร้างขึ้นแล้วเขียนนี้) ตัวอย่างการประยุกต์ใช้ในการทดสอบแนวความคิดในเครื่องท้องถิ่นโดยใช้ Windows XP และเครื่องเสมือน'GridMachine'ของฉัน เซิร์ฟเวอร์การควบคุมงานของผมจะมีเครื่องหลักของฉันที่วิ่ง Fedora 11 .

นี่คือความหมายในทางที่แสดงให้เห็นถึงระบบการทำงานที่แข็งแกร่งอย่างเต็มที่ไม่มีความหมายเพิ่มเติมของการสาธิตและการอภิปรายแสดงให้เห็นว่าสิ่งเหล่านี้สามารถเกิดขึ้นได้ในพื้นที่ที่มีเหตุผลสั้น ๆ ของเวลาและค่าใช้จ่ายน้อยของมัน ท่านสามารถส่งความคิดเห็นใด ๆ , การแก้ไขหรือปรับปรุงและฉันจะทำให้ดีที่สุดเพื่อให้การปรับปรุงเพื่อให้ตรงกับบทความนี้

ครั้งต่อไป

ใน 2 ส่วน ฉันจะเริ่มต้นด้วยการดูที่ระบบการควบคุมงานและดูเป็นวิธีการงานที่ควรได้รับการกำหนดค่าเพื่อให้ได้จำนวนมากที่สุดในขณะที่การประมวลผลตรวจสอบว่างานแต่ละงานจะถูกประมวลผลโดยไม่ต้องล้มเหลว

สำนักงาน Grid Computing ใช้เสมือนจริง -- ส่วนที่ 2

โดย Watkin Steven Lloyd 4 ธันวาคม 2009 ศุกร์ 23:23

การแนะนำ

ฉันทำงานในวันที่ บริษัท ที่เราเรียกใช้งานหลายชุดการประมวลผลนับล้านในแต่ละระเบียนของข้อมูลและความคิดของฉันได้รับเมื่อเร็ว ๆ นี้เกี่ยวกับทุกเครื่องที่นั่งแต่ละรอบและชั่วโมงทุกวันทำอะไรหลาย มันจะไม่ดีถ้าเราสามารถใช้เครื่องเหล่านั้นเพื่อหนุนการประมวลผลของระบบของเราหรือไม่ ในบทความนี้ชุดของผมจะพูดถึงประโยชน์ที่อาจเกิดขึ้นของการจ้างสำนักงาน ตาราง โดยใช้สภาพแวดล้อม virtualised

ใน ส่วนที่ 1 ฉันให้เป็นภาพรวมของระบบและเทคโนโลยีที่ผมจะใช้ดีตามที่กล่าวไว้บางส่วนของสาเหตุที่เป็นเหตุผลที่คุณต้องการจะสร้างตารางสำนักงาน

ควบคุมงาน

หากคุณกำลังจะใช้งานแล้วคุณจะต้องมีวิธีที่จะจัดการกับพวกเขา ระบบการควบคุมงานของคุณ (บนเซิร์ฟเวอร์ที่ทำงานของท่าน) จะต้องมีความคิดดีจริงๆออกก่อนได้พยายามที่จะเรียกใช้ตารางสำนักงาน ดังนั้นประการแรกสิ่งที่งานสำหรับระบบการควบคุมงานดังนี้

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

นอกจากนี้ระบบยังจะต้องมีการขยาย, โซลูชั่นที่ทำงานตอนนี้ในกรณีที่เดียวอาจจะขยายออกไปทำงานหลายประเภทของงานที่เป็นธุรกิจที่เห็นคุ้มค่าในตารางแก้ปัญหา ตัวอย่างเช่นงานที่อาจได้รับการจัดลำดับความสำคัญให้พิมพ์งานได้มากกว่าหนึ่งอาจมีอยู่ (เช่นฐานหลายรหัส) ในที่สุดคุณก็อาจใช้เครื่องหลายคนงานที่แตกต่างกันที่มีการปรับให้เหมาะสมกับชนิดของแต่ละงาน (แม้ว่าที่จะย้ายออกจากคนงานทั่วไป' 'ความคิด) พยายามที่จะคิดเกี่ยวกับอนาคตเมื่อการพัฒนาระบบการมองเห็นในระยะสั้นจะนำไปสู่​​ความยุ่งยากในระยะยาวและเวลาในการพัฒนาเพิ่มขึ้น

Server งาน

เราจะต้องมีที่ไหนสักแห่งเพื่อควบคุมงานของเราจากนี้ควรจะเป็นระบบเดียวในตารางของคุณที่มีการตรวจสอบที่ตั้งทรัพยากรที่คงที่เป็นที่อยู่ IP, ชื่อโฮสต์ URL (ใช้ DNS ภายใน) เป็นต้นทั้งนี้เนื่องจาก คนงานจำเป็นต้องทราบว่าจะมองหางานหรือผู้ปฏิบัติงานจำเป็นที่จะต้องหาระบบการควบคุมงาน (ไม่พบระบบการควบคุมงานคนงาน)

เซิร์ฟเวอร์งานตัวเองไม่ได้จริงๆมีงานที่ซับซ้อน (ในระบบขั้นพื้นฐาน แต่อย่างใด) จะต้องจัดเก็บรายชื่อของงาน, มือออกงาน, ได้รับผลและต่อมาเก็บไว้สำหรับการเรียกใช้ในภายหลัง ส่วนวิธีการเหล่านี้ ('มือออกงาน'เช่น) มีการกำหนดสามารถพื้นฐานมาก ต่อมาเมื่อเราสามารถขยายระบบที่จะรวมอินเตอร์เฟซการบริหารเพื่อเพิ่มแก้ไขลบระงับ แต่งานนี้เกินกว่าการออกกำลังกายนี้

ไม่มีเหตุผลใด ๆ แล้วว่างานเซิร์ฟเวอร์ของคุณไม่สามารถทำงานเสมือนเครื่องภายในเซิร์ฟเวอร์ประมวลผลหลักของคุณให้มันไม่ได้ระบายน้ำจากทรัพยากรมากเกินไปนั้น งานเซิร์ฟเวอร์ แต่ไม่จำเป็นต้องมีประสิทธิภาพที่สูงถ้ามันจะไปลงในเย็นวันศุกร์ที่คุณกำลังจะสูญเสียทั้งวันหยุดสุดสัปดาห์ของการประมวลผลอาจมีการคิดต้นทุนของคุณสองสามสัปดาห์ของเวลาในการประมวล (เมื่อเทียบกับเซิร์ฟเวอร์ที่ประมวลผลหลักของคุณคนเดียว) . คุณอาจต้องการพิจารณาวางเซิร์ฟเวอร์งานของคุณที่มีต่อสิ่งแวดล้อมที่สมดุลโหลดสำหรับความพร้อมสูง

การตั้งค่าพื้นฐาน

การตั้งค่าพื้นฐานสำหรับเซิร์ฟเวอร์งานของเราจะประกอบด้วยสิ่งที่ฉันเรียกเซิร์ฟเวอร์ของปวกเปียกของฉัน (ซึ่งก็คือ nux Li, ySql M, P HP) รหัสคนงานที่ทำงานอยู่บน Thea จริงจะทำงานออกว่างานก็สามารถดำเนินการโดยการโต้ตอบกับระบบการควบคุมงานกับฐานข้อมูล ต่อมาเมื่อเราสามารถสร้างบริการทางเว็บและมือออกงานจริงแทนที่จะมีคนงานจะทำงานอย่างหนักพวกเขาเอง แต่สำหรับตอนนี้เราจะยังคงใช้ หลักการ KISS (เก็บมัน Simple, Stupid!)

ดังนั้นจะช่วยให้สร้างสาม mySQL ตารางที่จะจัดการกับงาน เหล่านี้จะมีงาน``,`jobRecords`, และ jobResults`

ตารางงาน นี่ฉันใช้ SQL Buddy เป็นทางเลือกที่น้อยที่ดีในการ phpMyAdmin เพียงเพราะ : มันง่ายต่อการติดตั้งใน Centos (สำหรับคนอื่น ๆ เห็น ทางเลือก 10 Great เพื่อ phpMyAdmin )

ตารางนี้ประกอบด้วย 5 เขตข้อมูลง่าย

  • ID : ระบุตัวตนของงาน
  • ชื่อ : อ้างอิงอาจเป็นลูกค้าหรือตัวระบุที่เลขที่อื่น ๆ
  • สถานะ : คุณจำเป็นต้องทราบว่างานเป็นที่เช่น
    • 0 : ยังไม่ได้เริ่มต้น
    • 1 : การเลือกขึ้น
    • 2 : เสร็จสมบูรณ์
  • started_by : ใครเริ่มทำงาน? นี้ไม่จำเป็นทั้งหมด แต่เป็นสิ่งที่ดีที่จะมี ฉันขอแนะนำให้ติดตามการปฏิบัติงานตามที่อยู่ IP ของพวกเขาในเครือข่ายของคุณ
  • started_at : เมื่อไหร่ที่คนงานเริ่มงาน? โดยการติดตามงานที่ยังไม่เสร็จสิ้นภายในจำนวน X ของทุกครั้งที่เรารู้ว่าเราจำเป็นต้องรับงานอีกครั้งและเริ่มประมวลผลโดยคนงานอื่น คนงานสามารถหยุดการประมวลผล / ออฟไลน์สำหรับจำนวนใด ๆ ด้วยเหตุผล, ไฟฟ้าดับ, ความผิดพลาดของเครือข่ายการสูญเสียและอื่น ๆ

มันเป็นเรื่องง่ายวิธีตารางนี้อาจจะขยายออกไปกับเขตข้อมูลเพิ่มเติมน้อยเพื่อให้สามารถติดตามสถิติ, คอลัมน์เวลาเข้าเส้นชัยเพื่อดูว่างานยาวเอาเคาเตอร์เพื่อดูว่าคนงานหลายคนเลือกขึ้นงาน (ชัดนี้ต้องมีแนวโน้มที่จะ 1) ลำดับความสำคัญของงานรายการสามารถไปและใน ในงานที่ซับซ้อนมากขึ้นสถานการณ์มันจะเป็นไปได้ที่จะระบุจำนวนหน่วยความจำของคนงานจะต้องเข้าถึง (ดังนั้นจึงใช้เฉพาะคนงานที่เหมาะสม) หรือแม้กระทั่งประเภทของคนงานจะต้อง

ช่วยให้เพิ่มงานตัวอย่างบางประการดังนี้

ตัวอย่างงาน

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

  • บันทึก ID : บัตรประชาชน
  • ชื่อ : มีชื่อของบุคคล
  • ที่อยู่ : ที่อยู่ของบุคคล
  • jobs_id : ID งานที่บันทึกนี้จะเชื่อมโยงไป

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

  • ตารางงาน job_record_id Link : ผล
  • ผล : ผลข้อมูล

... และนั่นคือทั้งหมดที่คุณต้องการสำหรับการควบคุมงาน! (แม้จะอยู่ในระดับพื้นฐานมาก) ในกรณีของฉันฉันชี้ไปที่ตารางที่มีข้อมูลของฉันในการประมวลผลตั้งอยู่อีก แต่นี้ได้รับการเพียงได้อย่างง่ายดายไฟล์, พารามิเตอร์เพื่อเรียกรหัสจำลองคุณชื่อมัน

การเลือกงาน

ดังที่ระบุไว้ก่อนหน้านี้คนงานจะทำการจัดการงานของเราสำหรับเราในขณะนี้ดังนั้นสิ่งที่เราต้องทำคือจริงๆหางานที่ต้องการการประมวลผลและได้รับข้อมูล วิธีที่เราจะทำได้หรือไม่ ดีเลือกเกณฑ์การเลือกงานของเราและมองหางานทำใน SQL ฉันไม่ดังต่อไปนี้

  1. รับงานใด ๆ ที่ไม่ได้ทำเครื่องหมายว่าเ​​สร็จสมบูรณ์ แต่จากคนงานของเราและตั้งค่าพวกเขา (__ME__ แทนกับตัวระบุที่ง่ายที่สุดที่จะเป็นที่อยู่ IP) :
      สถานะ`งาน`UPDATE`SET`= 0 WHERE`สถานะ`= 1 และ`started_by`= __ME__; 
  2. การใช้เก​​ณฑ์การเลือกงานของเราให้เลือกงานและบอกว่าระบบการควบคุมคนงานนี้คือการติดต่อกับมันได้
      สถานะ`งาน`UPDATE`SET`= 1,`started_by`= __ME__,`started_at`= NOW () สถานะ`WHERE`= 0 หรือ
     (`status`= 1 และ started_at``> DATE_SUB (NOW (), INTERVAL X HOUR)) ORDER BY`id`ASC; 

    โดยการจับงานที่ยังไม่ได้ส่งกลับมาส่งผลให้จำนวน X ของทุกครั้งที่เรามั่นใจว่างานทั้งหมดจะดำเนินไปในกรณีที่มีคนงานทำงานล้มเหลวหรือจะ AWOL

  3. คว้าต่อไปรายละเอียดงานตามบันทึกตัวเอง :
      เลือก * จาก`งาน`WHERE`started_by`= __ME__ LIMIT 1;
     เลือก * จาก job_records`WHERE`id`= __JOBID__; 

เมื่อเสร็จสิ้นการงานที่เราแทรกระเบียนผลของเราและทำเครื่องหมายงานว่าเสร็จสมบูรณ์ จำข้อมูลไว้เป็นงานที่สามารถหยุด / กลับมาเมื่อใดก็ได้อนุญาตให้มีการโวยวายในสคริปต์ของคุณบาง มันอาจเป็นไปได้ว่างาน suspends ครึ่งทางผ่านการปรับปรุงระบบการควบคุมงานเพื่อตรวจสอบจำนวนระเบียนในงานและจำนวนผลการค้นหาที่บันทึกไว้กลับไปที่ระบบการควบคุมงานจะเป็นไปอย่างชาญฉลาด

นอกจากนี้ขณะนี้แสดงให้เห็นว่างานที่คุณสามารถเลือกและจัดการจากกรอบ SQL - แบบสอบถามจริงๆคุณควรจะ สรุป การควบคุมงานของคุณเพื่อที่ว่าถ้าคุณตัดสินใจที่จะเปลี่ยนไปใช้บริการเว็บ, แฟ้มระบบฐาน, XML , หรืออื่น ๆ หมายเลขของระบบก็จะไม่ส่งผลกระทบต่อโค้ดด้านบนมัน

การกำหนดค่างาน

ด้านต่อไปที่จะต้องพิจารณาคือขนาดของงานและการกำหนดค่า โดยการเล่นกับการกำหนดค่างานที่เราสามารถหยุดความสมดุลที่ดีระหว่างความเร็ว, การจำลองแบบกระบวนการและความน่าเชื่อถือ ใช้เวลาสองสาม OFA สถานการณ์ :

  1. ใช้เวลา 1 งานในแต่ละวันเพื่อทำงาน : ซึ่งหมายความว่าคนงานของคุณต้อง 15 วันในการประมวลผลงานแต่ละงาน (อย่าลืม 10% ของพลังงานที่สำหรับ 2/3rds ของเวลา) นี่คือการกำหนดค่าอย่างชัดเจนไม่ฉลาดขนาดงานของคุณเป็นวิธีที่มีขนาดใหญ่เกินไป! มันจะใช้เวลาอย่างน้อยสองครั้งที่เวลาที่จะทำให้งานการประมวลผลคนงานเริ่มต้นควรจะไป AWOL (เวลาในการรับว่าได้ผลไม่กลับมาบวกเวลา reprocessing) ในอุดมคติที่คุณต้องการได้อย่างน้อยหนึ่งงานเต็มล้างได้ง่ายโดยการสิ้นสุดของระยะเวลานานไม่ได้ใช้งานแต่ละที่ที่คุณเก็บงาน ticking กว่าและที่กรณีที่เลวร้ายที่สุดงานจะใช้เวลาสองวันในการประมวลผลควรแรกหายไป
  2. งานใช้เวลา 1 นาทีเพื่อให้ทำงาน : ซึ่งหมายความว่าคนงานของคุณใช้เวลาประมาณ 15 นาทีในการเรียกใช้งานแต่ละงาน ขณะที่ครั้งนี้อาจเริ่มดูเหมือนจะเหมาะสำหรับคุณได้รับการประมวลผลการทำงานเพิ่มเติมในช่วงเวลากลางวันตัวแบ่งกาแฟการประชุม ฯลฯ สถานการณ์เช่นนี้ทำให้สายพันธุ์ในพื้นที่อื่น ๆ ของระบบของคุณและแนะนำปัญหาของตัวเอง ตัวอย่างเช่นตอนแรกตั้งค่าของคุณอัตราส่วนเวลาการประมวลผลจะไปทางขวาลงดังนั้นการสูญเสียประสิทธิภาพของระบบ เครือข่ายของคุณเป็นไปได้อย่างต่อเนื่องสตรีมมิ่งข้อมูลงานไปยังคนงานต่างไม่พอใจเจ้าหน้าที่ที่มีดงวันของพวกเขาในการทำงานวัน คุณยังจะใส่สายพันธุ์เพิ่มเติมเกี่ยวกับเซิร์ฟเวอร์ของคุณประมวลผลงานตามที่ได้ให้อาหารออกจำนวนมากและจำนวนมากของชิ้นเล็ก ๆ ของการทำงานเป็นประจำ สุดท้ายนี้ในสถานการณ์เช่นนี้หากเซิร์ฟเวอร์ของคุณไปลงงานที่คุณกำลังจะสร้างกลับเข้าสู่ระบบใหญ่ของการทำงานในขณะที่งานใหญ่ uncompleted สามารถของการประมวลผลอย่างต่อเนื่องไม่ทราบว่าเซิร์ฟเวอร์สุขสันต์งานได้ประสบปัญหา

ในความเป็นจริงจะไม่มีการกำหนดค่าหนึ่งที่เหมาะสำหรับการตั้งค่าตารางของคุณให้มากขึ้นอยู่กับทรัพยากรที่มีประเภทของงาน, เวลาตอบสนองความต้องการของงานด้านความสามารถเครือข่ายและอื่น ๆ แต่บางแนวทางจะเป็นดังนี้

  • ขนาดงานเพื่อให้คนงานแต่ละคนสามารถได้รับผ่านอย่างน้อย 3-4 งานในระยะเวลา 15 ชั่​​วโมง (ที่ยาวที่สุดในช่วงเวลาน่าจะไม่ได้ใช้งาน)
  • เล่นกับขนาดงานเพื่อให้เวลาการติดตั้งที่จะกลายเป็นธรรมที่ไม่มีนัยสำคัญเมื่อเทียบกับเวลาในการประมวล (โดยคำนึงถึงจุดขึ้นไป)
  • หากงานไม่แล้วเสร็จในสองเท่าของเวลา (อาจจะน้อยกว่า) คุณคาดหวังให้เสร็จสมบูรณ์สมมติว่า AWOL ไปและเริ่มประมวลผลกับคนอื่น ซึ่งหมายความว่าคุณอาจจะต้องรอถึงสามเท่าของความยาวปกติของงานมันให้เสร็จสมบูรณ์ (อาจจะเป็นอีกต่อไปหากงานที่ตามมาล้มเหลว) คุณอาจต้องการลดเวลานี้ แต่ต้องระวังอย่าให้มันลดมากเกินไปในขณะที่คุณอาจจะเริ่มต้นทำซ้ำงานการประมวลผลอย่างสม่ำเสมอ
  • งานควรเป็นอิสระจากความต้องการภายนอกให้มากที่สุด งานเซิร์ฟเวอร์เช่นควรได้รับการติดต่อเพียงจุดเริ่มต้นและจุดสิ้นสุดของงานทุก
  • อย่าทำให้เต็มเครือข่ายของคุณนี้จะมีสองผลกระทบเชิงลบ, พนักงานกลางวันของคุณจะได้พบกับการใช้เครือข่ายทำลายและอาจจะประสบปัญหากับการเชื่อมต่อหมดเวลาปัญหาที่จะได้รับแย่กว่านั้นตามที่คุณขนาดตารางของคุณ
  • งานตรวจสอบให้แน่ใจสามารถเรียกใช้ในงานของคุณ หากงานที่เป็นงานหน่วยความจำแบบเร่งรัดเกินไปหรือพื้นที่ว่างในดิสก์แบบเร่งรัดจะเริ่มกำลังยกเลิกและสิ่งเดียวที่คุณจะสังเกตเห็นคือการลดลงของจำนวนงานที่ประมวลผลด้วยเหตุผลที่แท้จริงไม่ว่าทำไม

ส่งผลของงาน

เมื่อมีการส่งผลของงานจึงเป็นสิ่งสำคัญในการตรวจสอบว่าผลลัพธ์ที่ยังไม่ได้ถูกส่งมาโดยคนอื่นโดยเฉพาะอย่างยิ่งถ้าคนปัจจุบันได้รับการอยู่เฉยๆบางครั้ง

เมื่อถูกส่งผลให้มั่นใจว่าจำนวนผลการจับคู่จำนวนระเบียนภายในงาน

ดังที่ระบุไว้ก่อนหน้านี้และไม่สามารถขึ้นไปเน้นการสร้างความทนทานต่อความผิดพลาดในการเรียกใช้งานและผลการส่ง คนงานสามารถ (และมักจะ) ไปเข้าสู่โหมดที่ส่วนใหญ่ไม่สะดวกในครั้งนี้และจะต้องมีการ catered สำหรับ นอกจากนี้อีกครั้งสรุปผลของการส่งออกไปจะช่วยรองรับการเปลี่ยนแปลงในอนาคตของคุณกับระบบการควบคุมงานมากขึ้นในการจัดการกับ

สรุป

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

  • เซิร์ฟเวอร์การควบคุมงานบริหารงานและสร้างความมั่นใจว่าทุกหน่วยงานจะแล้วเสร็จ
  • โดยสรุปงานที่คุณเลือก / ส่งผลเราสามารถเปลี่ยนเทคโนโลยีของเซิร์ฟเวอร์ควบคุมได้โดยไม่มีปัญหามาก
  • กำหนดค่าการงานของคุณเพื่อให้แน่ใจว่าพวกเขาจะทำงานได้อย่างรวดเร็วและมีประสิทธิภาพโดยไม่ต้องใส่ความดันมากเกินไปในโครงสร้างพื้นฐานของเครือข่ายของคุณโดยไม่ซ้ำและการประมวลผลงานเป็นประจำ
  • ตรวจสอบให้แน่ใจว่าคุณสร้างความทนทานต่อความผิดและข้อผิดพลาดในการปฏิบัติ checking ของคุณให้คนงานสามารถหยุดและทำงานต่อได้และส่วนใหญ่ไม่สะดวกครั้ง อย่าลืมตรวจสอบหากผลการได้รับแล้วส่งมาโดยคนอื่น

ครั้งต่อไป

ใน 3 ส่วนหนึ่ง เราจะสร้างการประมวลผลเสมือนเครื่องของเราและการตั้งค่า Windows ของเราเครื่องที่จะเป็นคนงานเวลาไม่ได้ใช้งาน

สำนักงาน Grid Computing ใช้เสมือนจริง -- ส่วนที่ 5

โดย Watkin Steven Lloyd 4 ธันวาคม 2009 ศุกร์ 23:03

การแนะนำ

ฉันทำงานในวันที่ บริษัท ที่เราเรียกใช้งานหลายชุดการประมวลผลนับล้านในแต่ละระเบียนของข้อมูลและความคิดของฉันได้รับเมื่อเร็ว ๆ นี้เกี่ยวกับทุกเครื่องที่นั่งแต่ละรอบและชั่วโมงทุกวันทำอะไรหลาย มันจะไม่ดีถ้าเราสามารถใช้เครื่องเหล่านั้นเพื่อหนุนการประมวลผลของระบบของเราหรือไม่ ในบทความนี้ชุดของผมจะพูดถึงประโยชน์ที่อาจเกิดขึ้นของการจ้างสำนักงาน ตาราง โดยใช้สภาพแวดล้อม virtualised

ใน ส่วนที่ 4 นี้เรามองว่าการใช้เครื่องมือเพื่อให้แน่ใจว่าเรากำลังใช้งานรุ่นล่าสุดของแหล่งข้อมูลและรหัสเพื่อให้ผลที่ได้รับอยู่เสมอทันสมัยให้กับธุรกิจข้อมูลล่าสุดและตรรกะ

การปรับใช้ก่อน

ก่อนปรับใช้ระบบตารางของคุณว่ามีสิ่งหนึ่งที่คุณทำและสิ่งหนึ่งที่อยู่คนเดียวเป็นมาตรฐานของระบบปัจจุบันของคุณ ไม่ว่าสิ่งที่คุณบอกเพื่อนร่วมงานเกี่ยวกับวิธีการทำงานพิเศษมากระบบของคุณจะทำอย่างไรถ้าคุณมีหมายเลขนี้เพื่อกลับขึ้นไปรับประกันของคุณจะไม่มีอะไร ดังนั้น

  • กี่ระเบียนที่คุณสามารถดำเนินการใดในปัจจุบัน ต่อวัน? ชั่วโมงต่อ?
  • นานเท่าไหร่โดยปกติจะใช้เวลาในการหันไปรอบ ๆ งาน?
  • เท่าไหร่คุณมีความจุ?

นอกจากนี้ยังมีข้อสงสัยเพิ่มเติม :

  • ถ้าเซิร์ฟเวอร์ของการประมวลผลของคุณ (หรือเซิร์ฟเวอร์ของการประมวลผลของคุณ) ไปลงวิธีนี้จะส่งผลกระทบต่อความสามารถของคุณคุณจะได้รับง่อย?
  • ประโยชน์อะไรที่คุณหวัง / คาดว่าจะได้รับจากระบบกริด?
  • มีเครื่องที่ทำงานของคุณสามารถทำงานงานได้หรือไม่
  • เป็นของคุณ (หรือคุณสามารถหางานได้รับการแปลง) ในการทำงานในรูปแบบของการทำงานนี้หรือไม่

จุดสำคัญสุดท้ายคือการใช้เวลาของคุณในเรื่องการเปลี่ยนแปลงที่สำคัญใด ๆ เช่นนี้ ปรับปรุงรหัสการประมวลผลของคุณให้ทำงานโดยใช้วิธีการใหม่มาตรฐานใหม่อีกครั้ง เป็นไปได้ตั้งเซิร์ฟเวอร์การประมวลผลของคุณทำงานได้เสมือนเครื่องหลังจากที่เซิร์ฟเวอร์ประมวลผลทั้งหมดของคุณเพียงแค่จะได้รับคนงาน (เพียงหนึ่งที่มีประสิทธิภาพมากนัก) อีก อนุญาตให้ดำเนินการใหม่ในการชำระ

การปรับใช้

ข้อเสนอแนะของฉันจะป๊อปในสำนักงานหนึ่งวันหยุดสุดสัปดาห์ดำเนินการติดตั้งและการติดตั้งทั้งหมด ไม่เพียงแค่นี้ก่อนวันหยุดของปักษ์และออกจากรอยแตกที่ไม่ดีอื่น ๆ เพื่อที่จะจัดการกับผลที่ตามมา ... อาจจะไม่ ...

สำหรับการปรับใช้ระบบเช่นนี้จะต้องมีการชะลอตัว ถึงแม้ว่ามันเป็นความง่ายในการติดตั้งระบบนี้จะมีผลกระทบต่อโครงสร้างพื้นฐานของสำนักงานทั้งหมด (ดีดิจิตอลหนึ่ง) ของคุณ ประการแรกแผ่ออกไปสองสามเครื่องในเวลาตรวจสอบการจราจรของเครือข่ายครอบครัวคนงานวิธีการดำเนินการบนพื้นฐานแบบวันต่อวัน คุณอาจจำเป็นต้องปรับเปลี่ยนการกำหนดค่างานของคุณในการตอบสนองต่อผลการศึกษาของคุณ

เมื่อระบบมีการตัดสินด้วยเครื่องจักรไม่กี่ (ช่วยให้พูด 10% ของเครื่องสำนักงาน, 5 IE) ให้ตรวจสอบข้อมูลบนเครือข่ายและโฮสต์เครื่องมาตรฐาน performance. Next อีกครั้งคุณควรจะประมวลผลงาน 33% มากกว่าเกณฑ์มาตรฐานครั้งแรกของคุณ เครื่องหมายนี้จะเป็นเช่นนั้นหรือว่าคุณจะอยู่ที่อย่างน้อยใน ballpark นี้ ถ้าไม่ได้ตรวจสอบสิ่งที่เกิดขึ้นก่อนที่จะย้าย ทำซ้ำรอบจนกว่าคุณอย่างมีความสุขได้ทุกเครื่องใช้สำนักงานโดยไม่ฆ่าประสิทธิภาพเครื่องบดบุคคลหรือเครือข่ายของคุณหยุดนิ่งนี้

ตลอดเวลาทำให้การเปรียบเทียบแม้หลังจากการใช้งานทั้งหมดจะทำ ตรวจสอบวิธีการปรับปรุงรหัสใหม่ส่งผลกระทบต่อความเร็วของระบบของคุณให้ตรวจสอบคนงานทั้งหมดจะถูกรายงานในและงานการประมวลผล ช้าๆ (ช้ามาก) เพิ่มการกำหนดค่าของคุณเพื่อให้ได้งานที่ดีที่สุดจากคนงานและเครือข่ายของคุณ

หยุด!

จะทำอย่างไรถ้าคุณต้องการหยุดการทำงานของคนงานบางครั้ง? พวกเขาจะออกทั้งหมดที่มีทำงาน regenerating, และพยายามอย่างดีที่สุดเพื่อประมวลผลข้อมูลเช่นแมลงหิว ตอบอาจดูเหมือนชัดเจน แต่การเพิ่มมูลค่านั้นในกรณีที่มองข้าม เพียงแค่แก้ไขสคริปต์การประมวลผลของคุณมีทางออก (0) หรือตาย () หรือบางคำสั่งอื่น ๆ ที่จะฆ่างานการประมวลผลของคุณ เหตุผลสำคัญว่าทำไมเราพยายามที่จะปรับปรุงเพื่อการประมวลผลสคริปต์ก่อนที่จะดำเนินการใด ๆ ล่าสุด!

ระบบสาธิต

ในการเขียนชุดนี้ของบทความสั้น ๆ ที่ฉันสร้างตารางขนาดเล็กมากที่จะแสดงให้เห็นถึงเทคโนโลยีและวิธีการ ผมอ่านจำนวนมากบทความ, tutorials, และการใช้เครื่องมือต่างๆในการติดตั้งและตรวจสอบสิ่งที่เกิดขึ้น โดยไม่ได้หมายความว่าผมไปออกและอิ่มตัวสำนักงานทั้งมีการเข้าชมและไม่ได้ฉันมีการเข้าถึงพนักงาน PC ปกติสมาชิกเพื่อดูว่าประสิทธิภาพการทำงานให้บริการพื้นที่ได้รับผลกระทบ

ระบบการสาธิตของฉันถูกเจียมเนื้อเจียมตัวมากอย่างแน่นอน เดสก์ทอปปกติของฉันใช้ฉันจะตั้งค่าเป็นเซิร์ฟเวอร์การควบคุมงาน เมื่อวันนี้ฉันได้ติดตั้ง mySQL เซิร์ฟเวอร์ที่ติดตั้งตั้งค่าเป็นหลักในการทำซ้ำ, PHP , และ SVN เชื่อมโยงผ่านทาง Apache (สำหรับการเข้าถึงผ่านทางคนงาน VM)

ฉันแล้วสร้างเครื่องคนงาน Centos บน VirtualBox บน Windows เก่าปี 6 แล็ปท็อป XP ผมตั้งค่างานที่กำหนดเวลาตามที่กำหนดไว้หลังจากคัดลอก VM ไปยังเครื่องและปล่อยให้ไป

เสมือนเครื่องถูกจัดตั้งขึ้นโดย PHP, โค่นล้ม, และ MySQL ฉันจะตรวจสอบออกสาขาชื่อ'คนงาน'จากเซิร์ฟเวอร์ของการควบคุมงานของฉันพื้นที่เก็บข้อมูลและทำให้แน่ใจว่ามันจะได้รับการปรับปรุงโดยใช้'update SVN' Next การติดตั้งผม mySQL เป็นทาสและตรวจสอบว่าข้อมูลถูกคัดลอกจาก MySQL บนเซิร์ฟเวอร์การควบคุมงานคนงานลงไป VM หลังจากการติดตั้งผมนี้สคริปต์ทุบตีและงาน cron

สคริปต์การประมวลผลโดยทั่วไปของฉันไปตามสายการนี​​้ (สิ่งที่ง่ายมาก)

  • อ่านข้อมูลในเขตข้อมูลชื่อ
  • การนับจำนวนของชื่อที่คล้ายกันในตารางจากแหล่งข้อมูลเมื่อวันที่ VM
  • การนับจำนวนของชื่อดังกล่าวข้างต้น แต่การแยกชื่อด้วยช่องว่าง (ชื่อฅัวคือกลางนามสกุล)
  • ซ้ำขั้นตอนนี้ 1,000 ครั้ง

งานแต่ละงานใช้เวลาประมาณ 20 นาทีในการทำงาน จุดหนึ่งผมเปิดหลายชุดของ VM คนงานบนแล็ปท็อปของ Windows และดูงานมีการตรวจสอบออกจากกันของคนงานที่อยู่ IP ณ จุดนี้ผมยังได้รับการยืนยันการทำซ้ำที่เริ่มต้นใหม่โดยอัตโนมัติ

ออกจากแล็ปท็อปไปไม่ได้ใช้งานทำให้คนงานเริ่มต้นในการประมวลผลงานจากเซิร์ฟเวอร์การควบคุมงาน เมื่อกลับมาทำงานการใช้งานแล็ปท็อปมีความล่าช้าประมาณ 30-60 วินาทีนี้ยุติธรรมจำนวนครั้งและพนักงานจะต้องมีการรับรู้ถึงว่าเครื่องของพวกเขาอาจจะหยุดชั่วคราวในระยะเมื่อกลับมาที่เครื่องเป็น เครื่องใหม่กว่านี้อาจไม่ได้หยุดยาวครั้งนี้ ประโยชน์ของจำนวนเงินของการประมวลผลโดยเครื่องเหล่านี้จะมากขึ้นในช่วงระยะเวลาไม่ได้ใช้งานที่เกินดุลที่พนักงานไม่ต้องรอถึงช่วงเวลาสั้น ๆ (พูด 1 นาที) เมื่อมาถึงที่เครื่องของพวกเขาในตอนเช้า (ฉันมักรออีกต่อไปที่นี้สำหรับ Windows Defender ปรับปรุงให้มีขึ้น) ให้พวกเขาได้ทำตระหนักถึงเรื่องนี้เวลาที่มีประโยชน์ (เพื่อคว้ากาแฟยามเช้า!)

โดยรวมผมรู้สึกมั่นใจว่าผมได้แสดงให้เห็นถึงเทคโนโลยีที่สามารถนำมาใช้เพื่อสร้างระบบ ฉันได้แสดงให้เห็นว่าระบบดังกล่าวจะทำงานในขนาดเล็ก (มาก) และมีบางส่วนเพิ่มเติมได้ถูกลดขนาดการทดลองขึ้นใช้ทรัพยากรของเครื่องสำนักงานของ ถ้าฉันไม่ได้รับไปยังจุดของการทำเช่นนี้ฉันจะเป็นสนใจมากเพื่อทราบ / เห็นเมื่อมีบุคคลอื่นใด

สรุป / ประเมินผล

ขั้นตอนที่ชัดเจนต่อไปจะเป็นจริงได้ตัวอย่างเช่นโลกจริงและเริ่มต้นในการปรับใช้ระบบเช่นนี้อยู่ในสภาพแวดล้อมที่ทำงานและดูว่าเกิดอะไรขึ้น ถามทางธุรกิจในการกระทำนี้ได้โดยไม่ต้องเป็น บริษัท ที่โดดเด่นในการพิสูจน์ทางเทคโนโลยีและประสิทธิผลอาจเป็นเพียงเล็กน้อยยาก Grid / การคำนวณแบบกระจายเป็นที่นิยมมากเป็นวงกลมและมีบางโปรแกรมขนาดใหญ่บาง (BIONC, SETI @ Home, Folding @ Home, ฯลฯ ) ผมไม่ได้ แต่หาขนาดที่เล็กกว่าและระบบง่ายๆเช่นนี้ในการค้นหาของฉันที่สามารถรีดออกภายในสภาพแวดล้อมที่ทำงาน

ฉันสร้างระบบฟรีโดยทั่วไปการใช้ซอฟต์แวร์โอเพนซอร์สเป็นส่วนใหญ่และเครื่องมือที่มีอยู่ในเกือบทุกตำแหน่งใด ๆ เทคโนโลยีได้แสดงให้เห็นโดยทั่วไปและแสดงในการดำเนินการและได้ผลตามคาด หวังว่าฉันได้แสดงให้เห็นว่ามีงานไม่มากและมีการติดตั้งง่ายมากคุณสามารถปรับใช้สำนักงานตารางระบบคอมพิวเตอร์ที่มีประสิทธิภาพ, ราคาถูก, A และปรับขนาดได้ทั้งหมดในเวลาเดียวกัน

เมื่อระบบสามารถและทำงานที่นั่นเกือบจะไม่มีที่สิ้นสุดกับปริมาณของการปรับแต่งและการปรับปรุงคุณสามารถทำการ สำหรับสถิติ / ตัวอย่างการเปรียบเทียบได้ง่ายมีการเพิ่มการแสดงมูลค่าของระบบดังกล่าวทุกวัน เครื่องใหม่สามารถเพิ่มได้อย่างรวดเร็วและง่ายดายเช่นเดียวและเมื่อพวกเขามาถึงกับการอัพเกรดกับฮาร์ดแวร์ที่มีอยู่ bolstering พลังการประมวลผลของคุณ

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

ท่านสามารถส่งความคิดเห็นใด ๆ , การแก้ไขหรือปรับปรุงและฉันจะทำให้ดีที่สุดเพื่อให้การปรับปรุงเพื่อให้ตรงกับบทความนี้

Zend Framework : พื้นฐาน -- ความคิดเห็น

โดย Watkin Steven Lloyd , เสาร์ 28 พฤศจิกายน 2009 22:42

นายจ้างจ่ายเงินเมื่อเร็ว ๆ นี้สำหรับนักพัฒนากลุ่มของเราที่จะใช้ Zend Framework : พื้นฐาน หลักสูตรที่นี่ผมจะสรุปความเห็นของฉันคิดและที่อื่น ๆ หลักสูตร สำหรับผู้ที่ต้องการประหยัดเวลาที่นี่สรุปของฉันที่ :

สำหรับนักพัฒนาที่ยังไม่ได้มีเวลาในการดู Zend Framework หลักสูตรนี้ (Zend Framework : ความรู้พื้นฐาน) มีภาพโดยรวมที่ดีของข้อมูลกรอบแนะนำให้คุณรู้จักพื้นที่และที่สำคัญพอให้เพื่อดำเนินการต่อ สำหรับผู้ที่มีใช้เวลาดูที่กรอบและได้ปฏิบัติตามหรือสอง tutorials หนึ่งหลักสูตรนี้จะไม่ได้มากเกิน

พื้นหลัง

ฉันได้รับ PHP พัฒนาประมาณ 5-6 ปีและได้เริ่มทำงานกับ Zend Framework บนพื้นฐานองค์ประกอบในช่วง 6 เดือน ผมได้พัฒนาและ / หรือได้รับการพัฒนา Zend Framework ที่สองของขนาดเล็ก MVC sites. ฉันจะตรงไปตรงมาฉันไม่ได้มีจำนวนมากที่สัมผัสกับกรอบอื่น ๆ จากจุดรหัสของมุมมอง แต่ได้ใช้เวลาหลาย ชั่วโมงเว็บไซต์โครงการวิจัยและประเมินผลการ them. กรอบและชุมชนโดยรอบ Zend Framework มันจะน่าตื่นเต้นมากและดูเหมือนจะมีความเป็นไปได้มากในที่ของมันไป

เกี่ยวกับหลักสูตร

เป็นวิชาที่ส่งผ่าน 9 สองช่วง webex ชั่วโมง (มีพัก 10 นาทีและอยู่ตรงกลาง) เวลาจะใช้จะผ่านชุดของภาพนิ่งโดย Zend ให้กับการสนทนาได้ตลอดเวลา คุณสามารถใช้ไมโครโฟนเพื่อพูดคุยกับอาจารย์ผู้สอน แต่เพื่อซื่อสัตย์ฉันไม่ได้เห็นอะไรมากกว่าใครใช้หน้าต่างแชท นอกจากนี้เครื่อง VMWare Ubuntu มีให้ที่มีรหัสตัวอย่างและโครงการติดตั้งรุ่นทดลองของ Zend Studio ผู้นำพูดถึงหลักสูตรที่ผู้เข้าร่วมประชุมได้ผ่านทางโซลูชัน VoIP แบบบูรณาการหรือคุณสามารถโทรออกในการใช้โทรทั่วโลกอย่างใดอย่างหนึ่งในจำนวนหลาย

ในระหว่างเนื้อหาประกอบด้วยภาพรวมโดยย่อของกรอบและรูปแบบ MVC ก่อนที่จะมุ่งสู่การประยุกต์ใช้กลุ่มตัวอย่างสมุดเยี่ยม การอภิปรายแสดงให้เห็นถึง bootstrapping, Zend_Application, ตาราง dB, การเข้าถึงฐานข้อมูลรูปแบบ, การกรอง, ACL, กำลังตรวจสอบและอื่น ๆ เป็นต้นโดยทั่วไปครอบคลุมเนื้อหาทั้งหมดที่คุณจะต้องได้รับเว็บไซต์ขั้นพื้นฐานขึ้นทำงานตลอดเวลาให้คุณเครื่องมือในการ ไปและได้รับสูงมากขึ้นในกรอบ (แต่นี้ไม่ทราบจำนวนเงินที่'ดูเว็บไซต์'มากเวลา)

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

ประกอบด้วยการบรรยายสุดท้ายของการทำงานในใบสมัครวิกิพีเดียด้วยความช่วยเหลือคำแนะนำ / จากอาจารย์ผู้สอน หลังจากที่ความคิดเห็นของสนามนี้เคยถูกถ่ายก็เน้นย้ำหลายครั้งผ่านหลักสูตรที่ใช้เวลา Zend ความเห็นเป็นอย่างมากในความเป็นจริงดูเหมือนรุ่นของเราแน่นอนได้ค่อนข้างใหม่ บางประการของนักพัฒนาอื่น ๆ ใน บริษัท จะได้รับการหลักสูตรเร็ว ๆ นี้จึงจะน่าสนใจเพื่อดูว่าจะเกิดขึ้น

ลักษณะหลักสูตรเป็นทางการอนุญาตให้ความเห็นและการทำงานร่วมกันระหว่างผู้เข้าร่วมประชุมและอาจารย์ผู้สอน ผู้นำหลักสูตรเป็นมิตรเข้าถึงได้ (ที่อยู่อีเมลที่ใช้งานร่วมกันสำหรับคำถาม) และขณะที่นำเสนอจากภาพนิ่งของเขาเป็นบิตดูเหมือนจะสั่นคลอนความรู้ความสามารถอย่างเต็มที่ในกรอบ เขาเป็นคนที่ใช้อย่างชัดเจนกรอบเป็นประจำมากกว่าคนที่จะสอนในการสอนวิชาที่ฉันชอบประสบการณ์'โลกแห่งความจริง"ในแง่ที่

โดยรวมความรู้สึก

ในวิธีการที่ผมพบว่าหลักสูตรเสียเวลาในอื่น ๆ มันเป็นประโยชน์มาก หวังว่าฉันจะได้รับเหตุผลของผมข้ามได้อย่างชัดเจนและอาจจะให้อาหารบางอย่างสำหรับความคิดหรือข้อเสนอแนะที่เป็นประโยชน์ (รู้ว่าฉันนี้ไม่น่า!)

สำหรับตัวเองหลักสูตรนี้มีจุดมุ่งหมายที่ต่ำเกินกว่าระดับ ผ่านไปแล้วแนะนำ quickstart, อ่าน Rob อัลเลน Zend Framework ในการดำเนินการและการทำงานร่วมกับกรอบการทำงานน้อยฉันไม่ได้จริงๆได้อะไรมากเกินไป ผมชอบหลักสูตรของที่จะรับจากสิ้น quickstart และพัฒนาทักษะเพิ่มเติม

ที่กล่าวว่าชื่อหลักสูตรรัฐไม่ชัดเจน"Zend Framework : พื้นฐาน"และในด้านที่เรียนบรรลุสิ่งที่กำหนดจะทำอย่างไร สมาชิกคนอื่น ๆ ของทีมพัฒนาที่ยังไม่ได้ใช้เวลามองเข้าไปในกรอบเสร็จแต่ละครั้งที่มีความกระตือรือร้นและคำถามที่ถามซึ่งจริงๆยินดีที่ได้พบ

ไม่ได้หายไปทั้งหมดมันเป็นที่ดีที่จะใช้เวลาในการยืนยันรายละเอียดพื้นฐานของกรอบการทำงานและได้ถามคำถามที่สองในพื้นที่ที่ฉันไม่ได้ 100% มันเป็นยังเวลาที่ฉันได้นั่งลงในแต่ละวันและคิดเกี่ยวกับการเขียนโปรแกรมโดยใช้กรอบและโครงการในอนาคตของบางสิ่งบางอย่างของผมจะไม่ได้สามารถทำอย่างอื่น (คุณสามารถจินตนาการ บริษัท ของคุณยอมรับว่า :?)) แต่ต้องไม่น้อยคุณยังได้รับใบรับรองจาก Zend ดีที่จะพูดว่าคุณได้เข้าร่วมหลักสูตร (แม้ว่าทางอีเมล)

รับรอง Zend Framework

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

สรุป

ป.ร. ให้ไว้ทุกอย่างที่ฉันได้เขียนข้างต้นผมจะสรุปทุกอย่างในสองสัญลักษณ์แสดงหัวข้อย่อยง่าย :

  • ใหม่ไป Zend Framework : หลักสูตรนี้ไม่ว่าสิ่งที่คุณคาดหวังจะช่วยให้คุณแนะนำยินดีที่ได้กรอบและดินที่ดีในเบื้องต้นเกี่ยวกับการที่คุณสามารถสร้าง แน่นอนดูเหมือนว่าจะสร้างความสนใจและความกระตือรือร้นในการกรอบการทำงานในหมู่นักพัฒนา
  • ใช้ Zend Framework : ในขณะที่มันเป็นดีที่ฝั่งขึ้นมากบางส่วนของข้อมูลเบื้องต้นเกี่ยวกับผมก็รู้สึกว่าเวลาความพยายามและเงินทุนที่จะใช้หลักสูตรของการใช้จ่ายได้ดีกว่าที่อื่น มันจะดี see Zend สร้างระดับสูงหลักสูตรใหม่ที่จะพัฒนาไปในระดับถัดไป -- น้อยไป. มาตรฐานของการรับรองและอื่น ๆ ที่สำหรับการที่ฉันจะสมัครใช้งานได้ทันที












ชุดรูปแบบพาโนรามาโดย Themocracy

8 ผู้เข้าชมออนไลน์ขณะนี้
6 บุคคล, 2 บอ, 0 สมาชิก
วันนี้ผู้เข้าชมสูงสุด : 10 ที่ 03:01 UTC
เดือนนี้ : 26 ที่ 2011/07/05 12:35 UTC
ปีนี้ : 130 ที่ 28-03-2011 10:40 UTC
เวลาทั้งหมด : 130 ที่ 28-03-2011 10:40 UTC