kruise-game ialah projek sumber terbuka di bawah openkruise yang bertujuan untuk membawa transformasi asli awan untuk beban kerja permainan aka pelayan permainan.
tetapi apakah pelayan permainan sebenarnya?
pelayan permainan pada asasnya ialah mesin atau bekas maya yang mengendalikan fungsi teras di bahagian belakang permainan dalam talian berbilang PVP
di bawah saya telah menunjukkan arkitek pelayan permainan asas yang digunakan oleh permainan dalam talian PvP moden
mengapa kita benar-benar memerlukan kruise-game. bukankah sumber k8s lalai cukup untuk beban kerja permainan ?
permainan PvP moden semakin kompleks, mereka memerlukan berbilang pelayan permainan untuk mengendalikan pelbagai jenis perkhidmatan contohnya.
permainan PvP moden anda seperti valorant memerlukan pelayan permainan untuk melobi, mencari jodoh dan yang menjalankan logik permainan dan menguruskan keadaan permainan. Mengendalikan begitu banyak pelayan permainan adalah tugas besar dan tidak boleh dilakukan secara manual. Jadi bagaimana sekarang?
kami mempunyai kubernet untuk diselamatkan.K8 dengan operasi dan pengurusan automatiknya
keupayaan boleh menangani beban ini untuk Kami, hanya menggunakan imej pelayan permainan anda dan kami selesai betul?. Tidak sangat
Saya harap ia semudah ini. Masalahnya ialah anda tidak menggunakan apl web tanpa kewarganegaraan biasa anda di sini. Pelayan permainan berbeza dan keperluannya berbeza. Sumber lalai k8s bagus untuk apl tanpa negara tetapi pelayan permainan mempunyai kitaran hayat yang lebih kompleks dan ia adalah stateful juga keperluan rangkaian mereka berbeza.
pertama sekali pelayan permainan memerlukan sambungan tanpa kehilangan terus kepada pelanggan (sambungan udp), untuk ini kami memerlukan alamat Ip tetap pod, IP pod k8s ditukar semasa pemadaman, penskalaan.
juga terdapat kekurangan kawalan yang anda miliki ke atas pod jika menggunakannya untuk pelayan permainan, terdapat perkara yang dipanggil kemas kini bergulir di mana anda mengemas kini beberapa contoh pelayan permainan untuk menguji kemas kini dan melancarkan secara beransur-ansur kepada kejadian lain untuk mengelakkan masa henti, penjadual K8s tidak tahu bahawa anda sedang bekerja dengan pelayan permainan ia akan mengemas kini pod secara rawak, pada asasnya anda tidak mempunyai kawalan ke atas strategi kemas kini pelayan permainan anda. JADI anda mempunyai sedikit atau tiada fleksibiliti terhadap kemas kini pelayan permainan.
Untuk mengurangkan isu ini kruise-game mentakrifkan dua Sumber tersuai yang direka khusus untuk beban kerja pelayan permainan gameServer dan gameserverSet
gameServer:Merujuk kepada abstraksi operasi O&M dan pengurusan pada pelayan permainan tertentu. Ia digunakan terutamanya untuk operasi O&M dan pengurusan seperti kawalan jujukan kemas kini, kawalan keadaan pelayan permainan dan perubahan rangkaian pelayan permainan.
gameServerSet:Merujuk kepada abstraksi pengurusan kitaran hayat untuk sekumpulan pelayan permainan. Ia digunakan terutamanya untuk kawalan kitaran hayat seperti pengurusan nombor replika dan pelancaran pelayan permainan.
ciri yang disediakan oleh kruise-game untuk pengurusan pelayan permainan:-
Kemas kini hangat berdasarkan imej dan muat semula panas konfigurasi
Kemas kini, pemadaman dan pengasingan pelayan permainan tertentu
Berbilang model rangkaian terbina dalam (alamat dan port IP tetap, sambungan terus tanpa kehilangan dan pecutan global)
Auto penskalaan
O&M automatik (kualiti perkhidmatan)
Bebas daripada penyedia perkhidmatan awan
Orkestrasi pelayan permainan yang kompleks
Imej di bawah menunjukkan seni bina penggunaan permainan kruise pada k8
bermula dengan kruise-game :0
anda memerlukan kluster k8s untuk permainan kruise, cara paling mudah untuk mendapatkan kluster k8s ialah dengan memasukkan minikube dalam mesin anda, juga pastikan anda memasang helm pada mesin anda.
2.mulakan minikube
minikube start
3.gunakan helm untuk memasang kruise-game
#kruise-game relies on openkruise so you need to install openkruise first # Firstly add openkruise charts repository if you haven't do this. $ helm repo add openkruise https://openkruise.github.io/charts/ # [Optional] $ helm repo update # Install the latest version. $ helm install kruise openkruise/kruise --version 1.6.3 #now instakk kruise-game $ helm install kruise-game openkruise/kruise-game --version 0.8.0
4.pergi ke papan pemuka minikube anda
minikube dashboard
5.anda sepatutnya ruang nama kruise-game-system, tahniah anda memasang kruise-game
untuk maklumat lanjut dan butiran tentang kruise-game rujuk dokumen kruise-game.
Terima kasih kerana membaca, harap anda menikmati ini :).
Atas ialah kandungan terperinci Permainan Cloud Native dengan kruiseGame. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!