มีตัวอย่างของการนำไปปฏิบัติและตอบสนองต่อ“ Chaos Monkey” อย่างมีประสิทธิภาพหรือไม่?


15

Jeff Atwood เพิ่งเขียนโพสต์บล็อกเกี่ยวกับการใช้ Netflix ของ "Chaos Monkey" มันเป็นบทความระดับสูงมาก ฉันอยากรู้ว่าถ้าใครใช้เทคนิคนี้เพื่อทดสอบระบบ

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


1
และบางทีคุณใช้กลยุทธ์ใดในการทดสอบสถาปัตยกรรมดังกล่าว
rlb.usa

... ดีฉันเดาว่าเรากำลังรอใครบางคนในทีม netflix ที่จะมาและตอบ lol นี้
Earlz

ฉันอาจจะโยนเงินรางวัลนี้ อาจมีผู้ใช้ที่น่าสนใจมาก
Robotsushi

1
ตกลง ... แต่เป็นของโปรแกรมเมอร์ไม่ใช่อย่างนั้น โหวตให้โยกย้าย

คำตอบ:


5

ความโดดเดี่ยวและความเสื่อมโทรมที่สง่างามเป็นกลยุทธ์ทั่วไป (อีกคำที่คุณอาจเห็นว่าคล้ายกับการแยกคือdecouplingถึงแม้ว่าฉันมักจะเห็นว่าในระดับที่เล็กกว่าเช่นใน OOD / P แนวคิดนี้เหมือนกัน)

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

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

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

นี่เป็นแนวคิดที่ธรรมดามาก ทุกโครงการจะใช้พวกเขาแตกต่างกันขึ้นอยู่กับบริการและระบบย่อยที่พวกเขาให้และการพึ่งพาระหว่างพวกเขา

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