Lotou เป็นเฟรมเวิร์กที่มีน้ำหนักเบาสำหรับเซิร์ฟเวอร์เกมที่ใช้ใน Golang มันใช้ประโยชน์จากการสื่อสารระหว่างโหนดโดยการแลกเปลี่ยนข้อความเพื่อให้สามารถทำได้หลาย nodes และ multi-services ได้อย่างง่ายดาย
Lotou ได้รับแรงบันดาลใจจาก Framework Skynet ที่เขียนโดย Cloudwu ภายในกรอบนี้บริการทั้งหมดสื่อสารกันโดยการส่งข้อความ ฟังก์ชั่นที่จัดทำโดยบริการไม่ได้รับการเปิดเผยโดยการโทร API ในเวอร์ชันปัจจุบัน Module Core มีหน้าที่รับผิดชอบในการกำหนดเส้นทางและทุกบริการมีข้อความของตัวเอง chan สำหรับการรับและส่ง
หลักจัดหาการสื่อสารระหว่างบริการ บริการทั้งหมดได้รับการลงทะเบียนกับ core และส่งข้อความถึงผู้อื่นโดย Core.Send
binary เข้ารหัสข้อมูลลงในกระแสไบนารีเพื่อการสื่อสารระหว่างเซิร์ฟเวอร์และลูกค้า การใช้การประชุมเข้ารหัสนี้ค่อนข้างเหมือนกับการใช้งานของ JSON Marshalling
Gob (ไม่ใช่ Gob ใน Lib ของ Golang) การเข้ารหัส Gob มีวัตถุประสงค์เพื่อรักษาการสื่อสารของ Nodes การสื่อสารของบริการสามารถเป็นโทรทัศน์ดังนั้นจึงจำเป็นต้องใช้ข้อความการเข้ารหัสลงในกระแสไบนารี การสลับข้อความภายในโหนดไม่จำเป็นต้องเข้ารหัสเพื่อประสิทธิภาพที่ดีขึ้น
ประเภทดั้งเดิมทั้งหมดใน Golang สามารถเข้ารหัสได้ การรวมกันของพารามิเตอร์ใด ๆ จะได้รับการสนับสนุนได้อย่างง่ายดายตราบเท่าที่ผู้ส่งและตัวรับสัญญาณปฏิบัติตามลายเซ็นเดียวกัน
สามารถรองรับโครงสร้างที่กำหนดด้วยตนเองได้ แต่โครงสร้างจะต้องลงทะเบียนในขั้นสูง หากโหนดต่าง ๆ จำเป็นต้องใช้โครงสร้างเดียวกันการลงทะเบียนของโครงสร้างเหล่านั้นจะต้องลงทะเบียนในลำดับคงที่และไม่ซ้ำกัน
ในปัจจุบันการเข้ารหัสการแสดงสำหรับชิ้นและแผนที่นั้นไม่ค่อยดีนัก ในการเข้ารหัสประเภทของ []interface{} แต่ละองค์ประกอบจะถูกเข้ารหัสแยกกัน เพื่อให้มีความเฉพาะเจาะจงมากขึ้นให้พิมพ์ข้อมูลสำหรับแต่ละองค์ประกอบทั้งหมด ดังนั้นหากมีองค์ประกอบประเภทเดียวกันประเภทเดียวกันให้ใช้ข้อมูลประเภทจะมีการทำซ้ำซ้อน
Marshalling of Gob (lotou) ทำได้โดยการไตร่ตรอง
โมดูลของบันทึกสำหรับการพิมพ์ข้อมูลการดีบักและข้อผิดพลาด ขณะนี้บันทึกเป็นโหมดซิงโครไนซ์หากเรามีบันทึกมากเกินไปซึ่งจำเป็นต้องใช้ไฟล์เป็นไฟล์มันอาจบล็อกตรรกะหลัก (อาจเปลี่ยนเป็นโหมดอะซิงโครไนซ์บางวัน)
เครือข่ายใช้เส้นทางระหว่างโหนดใน TCP บทบาทของ server และ client ทำงานเป็นสิ่งที่เรียกว่า การเต้นของหัวใจยังไม่ได้ใช้งาน client สร้างการเชื่อมต่อกับ server ในครั้งแรกของการส่งข้อความ
เซิร์ฟเวอร์หลายโหนดขึ้นอยู่กับ topoloy มีโหนดสองประเภทใน lotou และโหนดประเภทต่าง ๆ ถูกรวมเข้ากับเครือข่ายเดียวกัน ภายในเครือข่ายบางแห่งมีโหนดหลักและโหนดทาสเซิร์ฟเวอร์เพียงหนึ่งโหนด บริการสามารถทำงานได้ในโหนดทุกประเภทและมีบริการสองประเภท: บริการท้องถิ่นและบริการทั่วโลก บริการท้องถิ่นเป็นบริการที่อยู่ในโหนดเดียวกันที่รู้จักกันโดยใช้ชื่อ บริการทั่วโลกเป็นบริการที่ดำเนินการโดยโหนดที่แตกต่างกันและพวกเขาจะได้รับบริการทั้งหมดของโหนดทั้งหมดโดยลงทะเบียนเพื่อมาสเตอร์
หากคุณสนใจที่จะพัฒนา Lotou อย่าลังเลที่จะติดต่อฉันผ่านทาง
QQ 157621271
WeChat ID DAIJUN_1234
กลุ่ม QQ ยังมีให้บริการ 362112175 (เติมข้อความยืนยันด้วย Lotou )
twitter @sydnash1
ได้รับคำแนะนำและ geeks เสมอ
ใช้ etcd เป็นบริการค้นพบ
ใช้ nats เป็น Diver Message Message