การซื้อบัญชีระหว่างประเทศของ Alibaba Cloud: คู่มือการกำหนดค่าเซิร์ฟเวอร์คลาวด์สำหรับอุตสาหกรรมเกม
ในอุตสาหกรรมเกมมีคำสาปที่ทีมเทคนิคทุกคนเคยได้ยิน: "สองหรือสามปีของการวิจัยและพัฒนา
การซื้อบัญชีระหว่างประเทศของ Alibaba Cloud
คุณอาจเคยสัมผัสหรือเคยเห็นฉากดังกล่าวมานับครั้งไม่ถ้วนบนอินเทอร์เน็ต: ในที่สุดเกมใหม่ที่ได้รับการคาดหวังอย่างสูงก็ได้รับการทดสอบสู่สาธารณะด้วยเหตุนี้ในวันแรกของเซิร์ฟเวอร์ทันทีที่ผู้เล่นเข้ามาเกมจะติดอยู่ในอินเทอร์เฟซการเข้าสู่ระบบโดยตรงหรือเพียงแค่ทำตามขั้นตอนเดียวและสามขั้นตอนและการปล่อยทักษะจะล่าช้าถึงหลายพันมิลลิวินาทีในทันที TapTap และ App Store ได้รับความนิยมสูงสุดจากรีวิวเชิงลบระดับหนึ่งดาว
ทีม R & D มือใหม่หลายคนที่ทำเกมหรือเจ้าขององค์กรขนาดเล็กและขนาดกลางที่เพิ่งเปลี่ยนมาเล่นเกมมักจะมีความเข้าใจผิด:
"เกมหยุด? ถ้าอย่างนั้นฉันสามารถซื้อเซิร์ฟเวอร์คลาวด์ที่มีอุปกรณ์สูงสุดและแพงที่สุดบน Alibaba Cloud และ Tencent Cloud ได้หรือไม่?"
ขออภัยมันไม่ได้ผลจริงๆ
ลักษณะการเข้าชมของอุตสาหกรรมเกมโดยพื้นฐานแล้วแตกต่างจากอีคอมเมิร์ซและเว็บไซต์ทั่วไปหากการเลือกและสถาปัตยกรรมไม่ถูกต้องแม้ว่าคุณจะใช้เซิร์ฟเวอร์ระดับบนสุดที่มีจำนวนหลายแสนต่อเดือนคุณก็ยังคงระเบิดเมื่อคุณควรระเบิดเซิร์ฟเวอร์
ในบทความของวันนี้เราจะไม่เข้าร่วมในทฤษฎี ppt แบบยาวและใช้รูปแบบการเขียนแบบไลฟ์แอ็กชันในภาษาพื้นถิ่นโดยตรงเพื่อสอนวิธีเลือกการกำหนดค่าเซิร์ฟเวอร์บนคลาวด์สำหรับเกมและแก้ปัญหาฮาร์ดคอร์ของ "คนหมื่นคนในเซิร์ฟเวอร์เดียวกันโดยไม่ติดขัด" จากด้านล่างโจทย์.
ขั้นตอนแรก: การเลือกเซิร์ฟเวอร์เกมฮาร์ดแวร์ตายตัวบ่งชี้หลักใด
เกมเป็นเรื่องปกติ
การทำงานพร้อมกันสูงเรียลไทม์สูงการประมวลผลที่แข็งแกร่ง
ฉากเมื่อไปที่โรงงานขนาดใหญ่ (Tencent Cloud CVM, Alibaba Cloud ECS) เพื่อตรวจสอบการกำหนดค่าคุณต้องจ้องไปที่รายการหลักสามรายการต่อไปนี้และใช้จ่ายเงินไปกับใบมีด:
1. CPU: สำหรับ "มอนสเตอร์ประสิทธิภาพแบบ single-core" ไม่ใช่ "Multi-core น้ำอุ่น"
นี่เป็นหลุมแรกที่ง่ายที่สุดในการทำเกม
ตรรกะหน้าเว็บ/เว็บไซต์ทั่วไป: 1,000คนที่เข้าชมเว็บไซต์เป็นคำขอน้ำหนักเบาอิสระ1,000รายการยิ่งมีแกน CPU มากเท่าไหร่ (เช่น64คอร์) การประมวลผลพร้อมกันก็จะยิ่งดีขึ้นเท่านั้น
ตรรกะเซิร์ฟเวอร์เกม: ห้องหรือสำเนาของเกมจำนวนมาก (เช่น100คนที่เล่นการต่อสู้แบบทีมในฉากเดียวกัน) การซิงโครไนซ์ตำแหน่งทั้งหมดในเลเยอร์ล่างการคำนวณความเสียหายจะทำงานในเธรดเดียวกัน (เธรดหลัก) ของ. กล่าวอีกนัยหนึ่งคือหากประสิทธิภาพ single-core ของคุณไม่ดีแม้ว่าเครื่องของคุณจะมี128คอร์คุณสามารถดูเธรดหลักที่ระเบิดคอร์ได้ในขณะที่อีก127คอร์ไม่ได้ใช้งาน
กฎเหล็กสำหรับการเลือก: เซิร์ฟเวอร์เกมเลือกซีพียูความถี่หลักพื้นฐาน (Clock Speed) ต้องสูงกว่า3.0 GHz ยิ่งความถี่เทอร์โบสูงเท่าไหร่ก็ยิ่งดีเท่านั้นให้ความสำคัญกับตัวอย่างของการปรับแต่งเกมโดยผู้ผลิตรายใหญ่ (เช่น Intel Xeon หรือ AMD EPYC ซีรีส์ความถี่สูงรุ่นล่าสุด) ฉันอยากจะใช้4คอร์3.6GHz มากกว่า16คอร์2.2GHz
2.เครือข่าย: BGP เฉพาะแบนด์วิดท์การเชื่อมต่ออินทราเน็ต
หากค่า Ping ของผู้เล่นเกมเกิน100ms เกมแอคชั่นและเกมยิงปืน
โดยทั่วไปไม่สามารถเล่นได้
เครือข่ายสาธารณะ: ต้องใช้เครือข่ายการนำทาง BGP แบบหลายบรรทัดของผู้ผลิตชั้นหนึ่งในประเทศสามารถมั่นใจได้ว่าผู้เล่นไม่ว่าจะเป็นมือถือ Lianxin หรือโทรคมนาคมสามารถเข้าถึงเครือข่ายกระดูกสันหลังในบริเวณใกล้เคียงเพื่อลดความล่าช้าทางกายภาพ
โหมดแบนด์วิดท์: เมื่อเซิร์ฟเวอร์เพิ่งเปิดหรือมีกิจกรรมส่งเสริมการขายขนาดใหญ่ขอแนะนำให้ใช้แบนด์วิดท์ตามการเรียกเก็บค่าธรรมเนียมการไหล (แบนด์วิดท์ที่ยืดหยุ่น) และขีดจำกัดบนจะสูงพอ (เช่น100Mbps หรือสูงกว่า) เพื่อป้องกันไม่ให้ผู้เล่นเข้าแถวทันทีท่อแบนด์วิดท์ถูกบีบและหลุด
อินทราเน็ต: ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์เกตเวย์เซิร์ฟเวอร์ลอจิกเกมและเซิร์ฟเวอร์ฐานข้อมูลของคุณทั้งหมดอยู่ใน VPC เดียวกัน (คลาวด์ส่วนตัวเสมือน) และอยู่ในพื้นที่ว่างเดียวกัน (ห้องคอมพิวเตอร์) ความล่าช้าของอินทราเน็ตในห้องคอมพิวเตอร์เดียวกันของผู้ผลิตระบบคลาวด์มักจะอยู่ภายใน0.5มิลลิวินาทีและแบนด์วิดท์อินทราเน็ตสามารถเข้าถึงได้หลายหมื่นกิกะบิตหากเซิร์ฟเวอร์ได้รับอนุญาตให้สื่อสารข้ามภูมิภาคความล่าช้าของอินทราเน็ตเพียงอย่างเดียวสามารถลากเกมไปสู่ความตายได้
ขั้นตอนที่สอง: การแยกสถาปัตยกรรม-10,000คนในเซิร์ฟเวอร์เดียวกันไม่ใช่การใส่10,000คนในเซิร์ฟเวอร์เดียว
เมื่อคุณเลือกฮาร์ดแวร์ไปที่ด้านบนความสามารถในการรองรับของเซิร์ฟเวอร์เดียวยังคงมีขีดจำกัดทางกายภาพหากคุณต้องการตระหนักถึง "10,000คนในบริการเดียวกัน" อย่างแท้จริงสิ่งที่คุณต้องพึ่งพาไม่ใช่การต่อต้านอย่างหนักแบบสแตนด์อะโลนแต่เป็น "สถาปัตยกรรมการแยกชิ้นส่วนแบบกระจาย"
การซื้อบัญชีระหว่างประเทศของ Alibaba Cloud
ในการปรับใช้เซิร์ฟเวอร์คลาวด์การเล่นเกมสำหรับผู้ใหญ่ในอุตสาหกรรมคือการแยกเซิร์ฟเวอร์ออกเป็นบทบาทการทำงานที่แตกต่างกัน (นั่นคือการมีส่วนร่วมใน "การแบ่งสายการประกอบ"):
1.เกตเวย์เซิร์ฟเวอร์ (Gateway/Proxy Server)
หน้าที่: ยืนอยู่แถวหน้าและเผชิญหน้ากับผู้เล่นโดยตรงทำเพียงสองสิ่ง: รักษาการเชื่อมต่อแบบยาว TCP/UDP (ซ็อกเก็ต) ของผู้เล่นหลายพันคนและส่งต่อคำสั่งที่ผู้เล่นส่งไปยัง "เซิร์ฟเวอร์ตรรกะ" ที่ตามมา
คำแนะนำการกำหนดค่า: ประเภทปริมาณงานเครือข่ายสูง CPU และหน่วยความจำไม่จำเป็นต้องสูงเกินไป (เช่น4คอร์8G หรือ8คอร์16G) แต่ต้องเลือกประเภทอินสแตนซ์ที่มีปริมาณงานแพ็กเก็ตเครือข่ายสูงมาก (PPS จำนวนแพ็กเก็ตที่ส่งต่อต่อวินาที)
2.เกมลอจิกเซิร์ฟเวอร์ (Logic/Scene Server)
หน้าที่ความรับผิดชอบ: นี่คือหัวใจของเกมรับผิดชอบในการเรียกใช้รหัสเกมทั้งหมดการเคลื่อนไหวของผู้เล่นมอนสเตอร์ AI และการคำนวณค่าความเสียหายของสกิล
คำแนะนำการกำหนดค่า: ประเภทการคำนวณ (ความถี่สูง) ขอแนะนำให้ใช้อินสแตนซ์การคำนวณความถี่สูง8คอร์16G และ16คอร์32G ที่มีอัตราส่วน CPU ต่อหน่วยความจำ1:2
ความลับของบริการหมื่นคน: ผ่าน "แยกเส้น" หรือ "แยกห้อง" บนพื้นผิวผู้เล่นอยู่ในโลกใบใหญ่ (เซิร์ฟเวอร์เดียวกัน) แต่โครงสร้างพื้นฐานคือ: ผู้เล่นหมายเลข1ถึงหมายเลข2000วิ่งบนเซิร์ฟเวอร์ลอจิก A และผู้เล่นหมายเลข2001ถึงหมายเลข4000วิ่งบนเซิร์ฟเวอร์ลอจิก B ข้อมูลจะซิงโครไนซ์ด้วยความเร็วสูงระหว่างเซิร์ฟเวอร์ลอจิกผ่านอินทราเน็ต
3.แคชข้อมูลกับบริการฐานข้อมูล (Redis / MySQL)
หน้าที่ความรับผิดชอบ: ผู้เล่นหยิบอุปกรณ์ขึ้นมาและอัปเกรดเป็นระดับหนึ่งข้อมูลจะต้องถูกบันทึกไว้ข้อกำหนดของเกมสำหรับการอ่านและการเขียนคือมิลลิวินาที
คำแนะนำการกำหนดค่า: ที่เก็บข้อมูลระดับบนสุดประเภทหน่วยความจำฐานข้อมูลเป็นเส้นเลือดใหญ่ของเกมอย่างแน่นอน
การเคลื่อนไหวครั้งใหญ่เพื่อป้องกันการติดขัด: อย่าปล่อยให้เซิร์ฟเวอร์ตรรกะของเกมอ่านและเขียนโดยตรง
ฐานข้อมูลฮาร์ดดิสก์ MySQL! เซิร์ฟเวอร์แคช Redis จะต้องถูกเพิ่มตรงกลางผู้เล่นต่อสู้กับมอนสเตอร์และกินยาในเกมก่อนอื่นข้อมูลจะถูกอ่านและเขียนอย่างบ้าคลั่งในหน่วยความจำ (Redis) ทุกๆสองสามนาทีข้อมูลจะถูก "ยิง" เป็นชุดในฮาร์ดไดรฟ์ MySQL แบบอะซิงโครนัสในพื้นหลังสิ่งนี้สามารถหลีกเลี่ยงความล่าช้าของเซิร์ฟเวอร์ที่เกิดจากการอ่านและเขียน I/O บนฮาร์ดดิสก์ช้าเกินไป
ขั้นตอนที่สาม: "เคล็ดลับสองประการในการช่วยชีวิต" ก่อนการทดสอบความเครียดออนไลน์และการป้องกันการแปรงฟัน
หลังจากซื้อเซิร์ฟเวอร์แล้วสถาปัตยกรรมจะถูกแบ่งออกก่อนการเปิดเซิร์ฟเวอร์อย่างเป็นทางการแม้ว่างบประมาณจะแน่นแต่คุณต้องทำสองสิ่งนี้ให้เสร็จสิ้น:
1.การทดสอบความดันหุ่นยนต์ (การทดสอบความดัน)
ค้นหาเครื่องมือทดสอบความเครียด (หรือเขียนสคริปต์ง่ายๆด้วยตัวเอง) บนเครือข่ายสาธารณะเพื่อจำลองหุ่นยนต์เสมือน10,000ตัวออนไลน์ในเวลาเดียวกันและส่งแพ็กเก็ตสำหรับการเข้าสู่ระบบย้ายและปล่อยทักษะอย่างบ้าคลั่ง
สิ่งที่ตัวชี้วัด: จ้องมองไปที่การใช้งาน CPU ของเซิร์ฟเวอร์หากคุณพบว่าคอร์ถึง100% และเกมเริ่มสูญเสียแพ็กเก็ตแสดงว่าโค้ดของคุณมีปัญหาคอขวดแบบเธรดเดียวและคุณต้องเพิ่มประสิทธิภาพโค้ดหรือแยกธุรกิจเพิ่มเติมก่อนที่จะเปิดเซิร์ฟเวอร์
การซื้อบนบัญชีอาลีคลาวด์สากล
2.เข้าถึงแพ็คเก็ตป้องกันสูงเพื่อป้องกันไม่ให้แฮกเกอร์ "ทุบ" เมื่อเปิดเซิร์ฟเวอร์
อุตสาหกรรมเกมเป็นพื้นที่ที่ได้รับผลกระทบหนักที่สุดสำหรับการโจมตี DDoS และการโจมตี CC แฮกเกอร์หลายคนจ้องไปที่การเปิดเกมใหม่โดยเฉพาะในวันที่เปิดเซิร์ฟเวอร์พวกเขาทุบการรับส่งข้อมูลหลายร้อย G โดยตรงจากนั้นส่งข้อความส่วนตัวไปยังหัวหน้างานของคุณเพื่อขอ "ค่าคุ้มครอง"
การดำเนินการช่วยชีวิต: หน้า IP เครือข่ายสาธารณะของเซิร์ฟเวอร์เกมจะต้องติดตั้ง IP ที่มีการป้องกันสูงของเกม/แพ็คเก็ตที่มีการป้องกันสูงของผู้ผลิตระบบคลาวด์ปล่อยให้ทราฟฟิกการโจมตีของแฮ็กเกอร์ถูกล้างออกที่โหนดป้องกันสูงจากนั้นจึงใส่ทราฟฟิกของผู้เล่นที่สะอาดลงในเซิร์ฟเวอร์เกตเวย์ของคุณอย่าวิ่งเปลือยก้น
บทสรุป
เพื่อให้แน่ใจว่าเกม "หมื่นคนเสิร์ฟเดียวกันโดยไม่ติดขัด" เป็นเหตุผล
ฮาร์ดแวร์ความถี่สูงระดับบนสุดสถาปัตยกรรมการแยกสัญญาณแบบกระจายที่สมบูรณ์แบบการออกแบบแคชข้อมูลแบบเนียน
วิศวกรรมระบบที่สร้างร่วมกัน
สำหรับทีมเริ่มต้นสุดท้ายให้คำแนะนำในการลงจอดที่ประหยัดที่สุด:
อย่าซื้อเต็มในครั้งเดียว
ใช้ประโยชน์จากข้อได้เปรียบของ "การปรับขนาดแบบยืดหยุ่น" ของเซิร์ฟเวอร์คลาวด์อย่างเต็มที่: เกตเวย์เริ่มต้นและบริการลอจิกสามารถเลือกการกำหนดค่าปานกลางและตรวจสอบ CPU และเครือข่ายผ่านสคริปต์เมื่อคุณเห็นจำนวนคนบนเครือข่ายสาธารณะที่เพิ่มขึ้นอย่างรวดเร็วให้ใช้เวลา2นาทีในการอัปเกรดการกำหนดค่าด้วยคลิกเดียวบนคอนโซลหรือเปิดเซิร์ฟเวอร์ลอจิคัลอีกสองสามตัวในแนวนอนเพื่อเบี่ยงเบนใช้วิธีการคำนวณแบบไดนามิกที่ชาญฉลาดที่สุดทั้ง
การซื้อบนบัญชีอาลีคลาวด์สากล
รองรับการเข้าชมของผู้เล่นที่เหมือนภูเขาไฟระเบิดอย่างต่อเนื่องและช่วยให้ทีมรักษาเงินร่วมทุนอันล้ำค่าไว้ได้ทุกเปอร์เซ็นต์

