คำถามติดแท็ก high-availability

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

11
ศูนย์ข้อมูลหลายแห่งและทราฟฟิก HTTP: DNS Round Robin เป็นวิธีเดียวที่จะประกันความล้มเหลวได้ทันที
ดูเหมือนว่าระเบียน A หลายรายการที่ชี้ไปยังโดเมนเดียวกันนั้นเกือบจะถูกนำไปใช้เพื่อนำ DNS Round Robin มาใช้เป็นเทคนิคการปรับสมดุลภาระราคาถูก คำเตือนปกติสำหรับ DNS RR คือมันไม่ดีสำหรับความพร้อมใช้งานสูง เมื่อ 1 IP ล่มลูกค้าจะยังคงใช้งานต่อไปอีกหลายนาที โหลดบาลานเซอร์มักแนะนำให้เป็นตัวเลือกที่ดีกว่า การอ้างสิทธิ์ทั้งสองนั้นไม่เป็นความจริงโดยสมบูรณ์: เมื่อปริมาณการใช้งานเป็น HTTP เบราว์เซอร์ HTML ส่วนใหญ่จะสามารถลองระเบียน A ถัดไปโดยอัตโนมัติหากรายการก่อนหน้าไม่ทำงานโดยไม่ต้องค้นหา DNS ใหม่ อ่านที่นี่บทที่ 3.1และที่นี่ เมื่อศูนย์ข้อมูลหลายแห่งมีส่วนเกี่ยวข้อง DNS RR เป็นตัวเลือกเดียวในการกระจายปริมาณการใช้งานทั่วทั้งศูนย์ ดังนั้นจริงหรือที่ศูนย์ข้อมูลหลายแห่งและทราฟฟิก HTTP การใช้ DNS RR เป็นวิธีเดียวที่จะรับประกันความล้มเหลวได้ทันทีเมื่อศูนย์ข้อมูลแห่งใดแห่งหนึ่งล่ม ขอบคุณ วาเลนติโน่ แก้ไข: นอกหลักสูตรแต่ละศูนย์ข้อมูลจะมี Load Balancer ในพื้นที่พร้อมด้วย hot spare มันตกลงที่จะเสียสละความสัมพันธ์เซสชันสำหรับความล้มเหลวทันที AFAIK วิธีเดียวที่ …

6
Windows 2008 ละเว้นการร้องขอ ARP Gratuitous
เมื่อเร็ว ๆ นี้เราเห็นปัญหาหลังจากเราเตอร์ของเราล้มเหลวซึ่งกล่อง Windows 2008 ของเราไม่ได้เริ่มพูดคุยกับเราเตอร์หลักหลังจากล้มเหลว เมื่อเราทำการขุดพวกเขายังมีรายการ ARP จากเราเตอร์ที่สอง ตามTechNet Blogนี่คือโดยการออกแบบ: First, Windows Vista หรือ Windows Server 2008 จะไม่อัปเดตแคชเพื่อนบ้านถ้าการออกอากาศ ARP จะได้รับการยกเว้นในกรณีที่เป็นส่วนหนึ่งของการร้องขอการออกอากาศ ARP สำหรับผู้รับ สิ่งนี้หมายความว่าเมื่อ ARP ฟรีถูกส่งบนเครือข่ายด้วย Windows Vista และ Widows Server 2008 ระบบเหล่านี้จะไม่อัปเดตแคชด้วยข้อมูลที่ไม่ถูกต้องหากมีที่อยู่ IP ขัดแย้งกัน ประการที่สองปรากฏว่า windows neighbour-cache (arp-cache) ได้รับการอัพเดตหากเครื่องไม่สามารถคุยกับเครื่องที่อยู่ในแคชได้ในขณะนี้ มันไม่ได้ส่งคำขอ ARP เป็นครั้งคราวเพื่อให้แน่ใจว่าแคชไม่เหม็นอับ แม้ว่านี่จะไม่ใช่ปัญหาในระหว่างการล้มเหลวครั้งแรกในระหว่างการล้มเหลวเมื่อกล่องทั้งสองยังมีชีวิตอยู่ทำให้หน้าต่างพูดคุยกับกล่องที่สอง มีวิธีใดที่จะบังคับให้ Windows 2008 ยอมรับคำขอ ARP Gratuitous …

9
ทางเลือกแทน Heartbeat, Pacemaker และ CoroSync?
มีทางเลือกอื่นที่สำคัญสำหรับการ failover อัตโนมัติบน Linux นอกเหนือจาก Heartbeat / Pacemaker / CoroSync โดยเฉพาะอย่างยิ่งฉันกำลังตั้งค่า failover บนอินสแตนซ์ของ EC2 ซึ่งรองรับ unicast เท่านั้น - ไม่มีมัลติคาสต์หรือการออกอากาศ ฉันพยายามจัดการกับซอฟต์แวร์บางส่วนที่เรายังไม่มีซึ่งล้มเหลวโดยอัตโนมัติและไม่สนับสนุนสภาพแวดล้อมแบบหลายต้นแบบ ซึ่งรวมถึงเครื่องมือต่าง ๆ เช่น HAProxy และ Solr ฉันมี Heartbeat + Pacemaker ทำงาน แต่ฉันไม่ได้ตื่นเต้นกับมัน นี่คือปัญหาของฉัน: Heartbeat - จำกัด เพียงสองโหนดเท่านั้น ฉันต้องการมี 3+ Pacemaker - เป็นไปไม่ได้ที่จะกำหนดค่าโดยอัตโนมัติ คลัสเตอร์ต้องทำงานด้วยองค์ประชุมและจากนั้นก็ยังต้องการการกำหนดค่าด้วยตนเอง CoroSync - ไม่รองรับ unicast ผู้นำในกิจการใด ๆ ทำงานได้ดีแม้ว่าจะมีกำลังไฟทำให้การติดตั้งทำได้ยาก …

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

1
การปรับใช้ statsd และ graphite บนเว็บที่พร้อมใช้งานสูงเข้าถึงได้และปรับขนาดได้
ฉันต้องการตั้งค่า statsd / graphite เพื่อให้ฉันสามารถบันทึกแอปพลิเคชัน JS ที่ทำงานบนอุปกรณ์ HTML (เช่นไม่ได้อยู่ในสภาพแวดล้อม LAN ที่มีอยู่และอาจมีข้อมูลขาเข้าจำนวนมากที่ฉันไม่ได้ควบคุมโดยตรง) ข้อ จำกัด ของฉัน: จุดเข้าใช้งานต้องพูด HTTP: สิ่งนี้ได้รับการแก้ไขโดยพร็อกซี HTTP-to-UDP-statsd อย่างง่าย (เช่น. httpstatsd บน github) ต้องต่อต้านความล้มเหลวของเซิร์ฟเวอร์เดียว (เพื่อต่อสู้กับกฎของ Murphy :) จะต้องปรับขนาดได้ในแนวนอน: webscale, baby! :) สถาปัตยกรรมควรถูกเก็บไว้อย่างเรียบง่าย (และถูก) ที่สุด เซิร์ฟเวอร์ของฉันเป็นเครื่องเสมือน ไฟล์ข้อมูลจะถูกเก็บไว้ในเครื่อง filer (ด้วย NFS) ฉันมีตัวปรับสมดุลโหลดฮาร์ดแวร์ tcp / udp เมื่อทำการกำจัด ในระยะสั้นเส้นทางข้อมูล: [ลูกค้า] - (http) -> [http2statsd] …

8
หลีกเลี่ยงการหมดเวลา DNS เมื่อเซิร์ฟเวอร์ dns ล้มเหลว
เรามีดาต้าเซ็นเตอร์ขนาดเล็กที่มีโฮสต์ประมาณหนึ่งร้อยตัวชี้ไปยังเซิร์ฟเวอร์ DNS ภายใน 3 ตัว (ผูก 9) ปัญหาของเราเกิดขึ้นเมื่อหนึ่งในเซิร์ฟเวอร์ DNS ภายในไม่พร้อมใช้งาน ณ จุดนั้นไคลเอนต์ทั้งหมดที่ชี้ไปที่เซิร์ฟเวอร์นั้นจะเริ่มทำงานช้ามาก ปัญหาน่าจะเป็นที่ตัวแก้ไขหุ้น linux ไม่ได้มีแนวคิดของ "ล้มเหลว" ไปยังเซิร์ฟเวอร์ DNS อื่น คุณสามารถปรับการหมดเวลาและจำนวนครั้งในการลองใช้อีกครั้ง (และตั้งค่าการหมุนดังนั้นมันจะทำงานผ่านรายการ) แต่ไม่ว่าการตั้งค่าใดที่ใช้บริการของเราจะทำงานช้ากว่ามากหากเซิร์ฟเวอร์ DNS หลักไม่พร้อมใช้งาน ในขณะนี้นี่คือหนึ่งในแหล่งการหยุดชะงักบริการที่ใหญ่ที่สุดสำหรับเรา คำตอบที่ดีที่สุดของฉันน่าจะเป็น "RTFM: tweak /etc/resolv.conf เช่นนี้ ... " แต่ถ้านั่นเป็นตัวเลือกที่ฉันไม่ได้เห็น ฉันสงสัยว่าคนอื่นจัดการปัญหานี้ได้อย่างไร ฉันเห็นโซลูชันที่เป็นไปได้ 3 ประเภท: ใช้ linux-ha / Pacemaker และ ips failover (ดังนั้น dns IP VIP จะ "พร้อมเสมอ") …

3
ความแตกต่างระหว่าง Anycast และ GeoDNS / GeoIP wrt HA คืออะไร?
จากคำอธิบายของวิกิพีเดียของAnycastซึ่งรวมถึงการกระจายของการจับคู่ชื่อโดเมนกับหลาย IP ในเซิร์ฟเวอร์ DNS หลายแห่งรวมถึงการตอบกลับลูกค้าด้วยเซิร์ฟเวอร์ที่ใกล้ที่สุดทางภูมิศาสตร์ (หรือเร็วที่สุด) ในบริบทของการเผยแพร่ทั่วโลกไซต์ที่มีความพร้อมใช้งานสูงเช่น google.com (หรือบริการ CDN ใด ๆ ที่มีตำแหน่งขอบทั่วโลกจำนวนมาก) สิ่งนี้ฟังดูเหมือนว่าจะมีคุณสมบัติหลักสองอย่างที่จำเป็น บริการ DNS เช่น Route53, EasyDNS และ DNSMadeEasy ของ Amazon โฆษณาทั้งหมดด้วยตนเองว่าเป็นเครือข่ายที่เปิดใช้งาน Anycast ดังนั้นข้อสันนิษฐานของฉันคือแต่ละบริการ DNS เหล่านี้ให้คุณสมบัติที่น่าสนใจสองอย่างแก่ฉัน: การแมปหลาย IP กับโดเมนและการกำหนดเส้นทางไคลเอ็นต์ไปยังโหนดที่ใกล้เคียงที่สุด อย่างไรก็ตามแต่ละบริการเหล่านี้ดูเหมือนจะแยกฟังก์ชันการทำงานทั้งสองนี้โดยอ้างถึงบริการที่ 2 (การกำหนดเส้นทางไคลเอนต์ไปยังโหนดที่ใกล้ที่สุด) เป็น "GeoDNS", "GeoIP" หรือ "Global Traffic Director" และคิดค่าบริการเพิ่มเติม หากผู้เช่าหลักของระบบที่มีความสามารถ Anycast ทำเช่นนี้แล้วทำไมฟังก์ชั่นนี้จึงถูกจัดสรรให้เป็นคุณสมบัติพิเศษนี้? คุณลักษณะ "GeoDNS" นี้ทำอะไรที่บริการ Anycast DNS …

8
เวลาที่เหมาะสมในการแนะนำความพร้อมใช้งานสูงสำหรับเว็บไซต์คือเมื่อใด
เวลาที่เหมาะสมในการแนะนำความพร้อมใช้งานสูงสำหรับเว็บไซต์คือเมื่อใด มีบทความมากมายเกี่ยวกับตัวเลือก High Availability ไม่ชัดเจน แต่เมื่อถึงเวลาที่เหมาะสมในการเปลี่ยนจากเซิร์ฟเวอร์เดียวเป็นการกำหนดค่าความพร้อมใช้งานสูง โปรดพิจารณาสถานการณ์ของฉัน: http://www.postjobfree.comเป็นเว็บไซต์ตลอด 24/7 ที่มีการเข้าชมที่สำคัญ: http://www.similarweb.com/website/postjobfree.com ขณะนี้ฉันเรียกใช้บนเซิร์ฟเวอร์เดียว: ทั้งเว็บเซิร์ฟเวอร์ IIS 7.0 และ SQL Server 2008 ทำงานบนกล่องฮาร์ดแวร์เดียวกัน มีบางครั้ง (~ หนึ่งครั้งต่อเดือน) ~ 5 นาทีโดยปกติจะเกิดจากการรีบูตเครื่องซึ่งจำเป็นต้องมีการอัพเดท Windows Server บางตัว มักจะมีการหยุดทำงานตามกำหนดและเกิดขึ้นในเวลากลางคืน ยังคงไม่เป็นที่พอใจเนื่องจาก Google Bot และผู้ใช้บางคนยังทำงานอยู่ในตอนกลางคืน รายได้จากเว็บไซต์ปัจจุบันอยู่ที่ ~ $ 8K / เดือน ฉันพิจารณาเปลี่ยนไปใช้การกำหนดค่าสองเซิร์ฟเวอร์ (เว็บฟาร์มของ 2 เว็บเซิร์ฟเวอร์และคลัสเตอร์ของ 2 เซิร์ฟเวอร์ SQL ที่โฮสต์บนเซิร์ฟเวอร์ฮาร์ดแวร์สองแห่ง) ข้อดี: 1) …

5
เมื่อเว็บ A เซิร์ฟเวอร์ของฉันถูกถอดปลั๊กฉันจะเปลี่ยนเส้นทางผู้ใช้ทั้งหมดไปยังเว็บเซิร์ฟเวอร์ B ของฉันในเมืองอื่นโดยอัตโนมัติได้อย่างไร
เมื่อเว็บ A เซิร์ฟเวอร์ของฉันถูกถอดปลั๊กฉันจะเปลี่ยนเส้นทางผู้ใช้ทั้งหมดไปยังเว็บเซิร์ฟเวอร์ B ของฉันในเมืองอื่นโดยอัตโนมัติได้อย่างไร สวิตช์โหลดบาลานซ์ทำสิ่งที่ฉันต้องการยกเว้นฉันไม่สามารถหาวิธีใช้งานได้เว้นแต่ว่าทั้งเว็บเซิร์ฟเวอร์อยู่ในอาคารเดียวกัน ระบบการทำคลัสเตอร์ที่มีความพร้อมใช้งานสูงทำในสิ่งที่ฉันต้องการยกเว้นฉันไม่สามารถหาวิธีที่จะทำให้มันทำงานได้เว้นแต่ว่าทั้งเว็บเซิร์ฟเวอร์อยู่ในอาคารเดียวกัน คำตอบที่ยอมรับเพื่อ " เปลี่ยนเส้นทางไปยังหน้าเว็บแบบคงที่บนเว็บเซิร์ฟเวอร์อื่นเมื่อเว็บเซิร์ฟเวอร์หลักไม่ทำงาน " ดูเหมือนว่าจะสนับสนุนเว็บเซิร์ฟเวอร์ใน 2 เมืองที่แตกต่างกัน แต่การติดตั้งซอฟต์แวร์ในกล่องเดียวจะช่วยฉันได้อย่างไรหลังจากที่กล่องไม่ได้เสียบปลั๊ก วิธีการทำDNS robin ปัดและเนื้อหาการจัดส่งเครือข่าย (CDNs) ทำหรือไม่ ฉันคิดว่าวิธีหนึ่งเริ่มจากบางสิ่งเช่น: ฉันได้รับที่อยู่ IP ของแต่ละเว็บเซิร์ฟเวอร์จริงของฉัน ฉันใส่ที่อยู่ IP ของแต่ละเว็บเซิร์ฟเวอร์จริงของฉันลงในระเบียน DNS สำหรับชื่อโดเมนเดียวของ "เว็บไซต์" (หลายระเบียน A หรือระเบียน AAAA หรือทั้งสอง) ... ถ้าอย่างนั้นฉันต้องทำยังไงดี? ฉันคิดว่าวิธีการอื่นเริ่มจากบางสิ่งเช่น ฉันใช้ผู้ให้บริการ DNS แบบไดนามิกสำหรับชื่อโดเมนเดียวที่ฉันคาดว่าผู้ใช้จะพิมพ์ลงในเว็บเบราว์เซอร์ ฉันตั้งค่างาน cron ในแต่ละเว็บเซิร์ฟเวอร์ที่บอกผู้ให้บริการ DNS เป็นประจำว่าเป็นที่อยู่ IP ของตนเอง (อัปเดตระเบียน A …

3
ความพร้อมใช้งานสูงหลายเว็บไซต์
เรามีแอปพลิเคชัน SaaS ที่เราต้องการให้มีให้ใช้งานสูง เรามีคลัสเตอร์ล้มเหลว Hyper-V ที่มีราคาแพงและได้รับการบำรุงรักษาเป็นอย่างดี แต่วันนี้ศูนย์ข้อมูลที่เราโฮสต์นั้นมีไฟดับห้าชั่วโมงซึ่งทำให้เราออฟไลน์โดยสิ้นเชิง ตอนนี้เรากำลังสงสัยว่าวิธีการที่ดีกว่าอาจใช้เซิร์ฟเวอร์ที่ศูนย์ข้อมูลสองแห่งแยกกันหรือไม่ สมมติว่าเราได้รับการจำลองแบบไฟล์แบ็คเอนด์ทั้งหมดและการเรพลิเคทข้อมูลทำงานระหว่างสองไซต์นี้เราสงสัยว่าจะจัดการกับการกำหนดเส้นทางส่วนหน้าได้อย่างไร - ไม่น่าแปลกใจที่เราจัดการกับปัญหา จุดเดียวของความล้มเหลว ดังนั้นคำถามคือ ... เราจะตั้งค่าการทำโหลดบาลานซ์ระหว่างสองเว็บไซต์ที่โฮสต์ได้อย่างไรซึ่ง load balancer ไม่ใช่จุดเดียวที่ล้มเหลว มีวิธีการใช้ตัวโหลดบาลานซ์สองตัวแยกกันหรือไม่ เราควรพิจารณา DNS แบบปัดเศษหรือไม่

1
จำลอง beanstalkd เพื่อความพร้อมใช้งานสูง
ชื่อกล่าวมันทั้งหมด ไม่มีใครรู้วิธีที่จะเลียนแบบฝักถั่วเช่นนั้นถ้าเซิร์ฟเวอร์ฝักถั่วลงไปทาสคนอื่นอาจใช้เวลามากกว่า? นี่เป็นวิธีหนึ่งที่ฉันคิด: ฉันสามารถทำให้ beanstalk เขียน binlog ของมัน (ด้วย -b) ไปยังตำแหน่งที่ใช้ร่วมกันแล้วมีเซิร์ฟเวอร์รอง / สำรองเริ่มต้น beanstalkd ถ้าหลักล้มเหลว ต้องมีวิธีที่ดีกว่า

2
ตัวเลือกสำหรับ Multisite High Availability กับ Puppet
ฉันบำรุงรักษาดาต้าเซ็นเตอร์สองตัวและเนื่องจากโครงสร้างพื้นฐานที่สำคัญของเราเริ่มได้รับการควบคุมผ่านหุ่นมันเป็นสิ่งสำคัญที่การทำงานของหุ่นเชิดในไซต์ที่สองหากไซต์หลักของเราล้มเหลว ยิ่งไปกว่านั้นการตั้งค่าแบบแอ็คทีฟ / แอคทีฟดังนั้นเซิร์ฟเวอร์ในไซต์ที่สองไม่ได้ทำการสำรวจทั่ว WAN มีวิธีการมาตรฐานของหุ่นหลายเว็บไซต์ที่มีความพร้อมใช้งานสูงหรือไม่?

5
DNS Round Robin: เบราว์เซอร์เชื่อมต่อกับ IP เดียวตราบใดที่ยังออนไลน์อยู่หรือไม่
เบราว์เซอร์ส่วนใหญ่จะทำงานอย่างไรหากได้รับ A-records หลายรายการจากเซิร์ฟเวอร์ DNS ติดกับ IP หนึ่งตราบใดที่สามารถเข้าถึงได้ (และใช้อีกหาก IP นั้นลง)? หรือพวกเขาสลับตลอดเวลาโดยไม่มีเหตุผล? หากเบราว์เซอร์ปัจจุบันส่วนใหญ่ยึดติดกับ IP เดียว DNS-RR จะเพียงพอสำหรับฉันในฐานะวิธีการแก้ปัญหาความล้มเหลวอย่างง่าย

8
โหลดสมดุล Apache ในงบประมาณหรือไม่
ฉันพยายามที่จะเข้าใจแนวคิดของการทำ load balancing เพื่อให้แน่ใจว่ามีความพร้อมใช้งานและความซ้ำซ้อนเพื่อให้ผู้ใช้มีความสุขเมื่อสิ่งต่าง ๆ ผิดพลาดมากกว่าการทำ load balancing เพื่อให้ความเร็วในการ blistering แก่ผู้ใช้หลายล้านคน เราอยู่ในงบประมาณและพยายามที่จะยึดติดกับสิ่งที่มีความรู้มากมายดังนั้นการใช้งาน Apache บน Ubuntu VPS ดูเหมือนว่าเป็นกลยุทธ์จนกว่าเครื่องมือค้นหาที่มีชื่อเสียงบางรายได้มาให้เรา ( รวมถึงการประชดเสาร์โปรดทราบ ) อย่างน้อยสำหรับฉันมันเป็นป่าที่สมบูรณ์ของโซลูชั่นที่แตกต่างกัน Apaches เอง mod_proxy & HAproxy เป็นสองสิ่งที่เราค้นพบโดยการค้นหา google อย่างรวดเร็ว แต่ไม่มีประสบการณ์ในการทำโหลดบาลานซ์ฉันไม่รู้ว่าอะไรจะเหมาะกับสถานการณ์ของเราหรือสิ่งที่เราจะดูแลในขณะที่เลือกวิธีแก้ปัญหาของเรา กังวลเรื่องความพร้อมใช้งาน ตัวเลือกที่ดีที่สุดสำหรับเราคืออะไร? เราควรทำอย่างไรเพื่อให้มีความพร้อมในการใช้งานสูงในขณะที่อยู่ในงบประมาณของเรา

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

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