python 開發框架 ant_Golang/python語言開發的分布式游戲服務器框架 mqant

軟件介紹

mqant

mqant 是一款基于 Golang 語言的簡潔,高效,高性能的分布式游戲服務器框架,研發的初衷是要實現一款能支持高并發,高性能,高實時性的游戲服務器框架,也希望 mqant 未來能夠做即時通訊和物聯網方面的應用。

pymqant

pymqant是已經mqant相同的設計原理用python實現的,python版本設計的初衷并不是替代golang語言版本的mqant,而是希望mqant能充分利用python語言的優勢(豐富的開源庫),因此python是golang語言版本的mqant輔助版本

理論上pymqant也實現了mqant完全相同的功能,只是缺少一個網關模塊,可以用pymqant實現游戲的web api模塊,mqant實現對性能要求較高的游戲核心邏輯模塊,pymqant模塊與mqant模塊之間可以無縫相互調用。

特性分模塊機制

基于 golang 協程,開發過程全程做到無 callback 回調,代碼可讀性更高

RPC 支持本地和遠程自動切換

遠程 RPC 默認使用 rabbitmq,未來可以添加更多種類的通信協議

網關采用 MQTT 協議,無需再開發客戶端底層庫,直接套用已有的 MQTT 客戶端代碼庫,可以支持IOS,Android,websocket,PC 等多平臺通信

現如今只有多進程的架構才能達到支撐較多在線用戶,降低服務器壓力,降低單點故障所帶來的影響等要求,因此一個真正高可擴展的游戲運行架構必須是多進程的。

然而在游戲的開發和運營也是按步驟階段性進行的,尤其是現如今服務器硬件設備配置也越來越高的前提下,在游戲剛開始運營時單臺服務器就足夠支撐了,況且多進程部署所帶來的運維成本也相對較高。

mqant 的設計思想是在能用單臺服務器時能讓充分挖掘服務器的性能,而在需要多進程時再通過簡單的配置就可以實現分布式部署。

mqant 游戲服務器的運行架構

fe8c9d37ad6b73d8a14263df16774aec.png

mqant 服務器是按模塊來劃分功能模塊的,例如 用戶管理,在線聊天,戰斗平臺等等都應該劃分為獨立的模塊

模塊之間通過 RPC 通訊,mqant 底層會根據實際情況選擇 rpc 數據交互的通信渠道,在調用模塊在同一個進程的情況下直接使用 golang chan 通訊,因此同進程內模塊通信性能不受影響。

為你推薦:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534242.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534242.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534242.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java w3c xml_org.w3c.dom(java dom)解析XML文檔

首先來了解點Java DOM 的 API:1.解析器工廠類:DocumentBuilderFactory創建的方法:DocumentBuilderFactory dbf DocumentBuilderFactory.newInstance();2.解析器:DocumentBuilder創建方法:通過解析器工廠類來獲得 DocumentBuilder…

java中小數點位數_Java中限制小數位數問題

在Java中限制小數位數的方法不止一種,下面我們以限制兩位小數為例來說明幾種限制小數位數的方法,其他位數可以以此類推方式一:四舍五入double f 111231.5585;BigDecimal b new BigDecimal(f);double f1 b.setScale(2,…

orange pi java_[中文]Orange Pi家族各大成員一覽表

全部復制來自官網,只修改了錯別字和優化了排版。Orange Pi Zero香橙派Zero是一款開源的單板電腦,新一代的arm開發板,它可以運行Android4.4、Ubuntu、Debian等操作系統。香橙派Zero使用全志H2系統級芯片,同時擁有256MB/512MB DDR3 內存(256MB為…

java 微服務源碼_基于Java的微服務架構源碼案例Abixen

微服務越來越受歡迎,每個月都有更多的庫包和解決方案來支持微服務的開發測試,很多Java開發人員雖然聽說過微服務,但是真正采用還是有猶豫的:“我知道,微服務是非常棒的,微服務器更容易維護和進一步開發&…

rocketmq java例子_SpringBoot和RocketMQ的簡單實例

1,引用jar包build.gradle文件添加jar包引用compile group: org.apache.rocketmq, name: rocketmq-spring-boot-starter, version: 2.1.12,配置文件application.properties 配置文件spring.application.nameapp-dempserver.port8081###rocketmq###rocketm…

mysql migrations_Code First Migrations更新數據庫結構(數據遷移)

背景 code first起初當修改model后,要持久化至數據庫中時,總要把原數據庫給刪除掉再創建(DropCreateDatabaseIfModelChanges),此時就會產生一個問題,當我們的舊數據庫中包含一些測試數據時,當持久化更新后,…

java 機器碼 虛擬機_Java虛擬機:源碼到機器碼

無論什么語言寫的代碼,其到最后都是通過機器碼運行的,無一例外。那么對于 Java 語言來說,其從源代碼到機器碼,這中間到底發生了什么呢?這就是今天我們要聊的。如下圖所示,編譯器可以分為:前端編…

docker 遠程連接 文件看不到_開發提升十倍生產力: IDEA 遠程一鍵部署 Spring Boot 到 Docker...

一、開發前準備二、新建項目《Java 2019 超神之路》《Dubbo 實現原理與源碼解析 —— 精品合集》《Spring 實現原理與源碼解析 —— 精品合集》《MyBatis 實現原理與源碼解析 —— 精品合集》《Spring MVC 實現原理與源碼解析 —— 精品合集》《Spring Boot 實現原理與源碼解析…

java多臺_Java 多態

Java中多態的特性,在學習中就是很難懂,比較抽象的概念。學的時候就犯糊涂,但日后會發現,基礎在日常工作的理解中占有重要的角色。下面,我將用一個代碼實例,回憶和鞏固多態的概念和存在的意義。理解多態&…

快準牌電腦發軟件_做自媒體必備技能,視頻剪輯軟件排名(精品篇)

作者:老馬引流定位:專業專注引流推廣0X00 前言毫不客氣的說,視頻正日益成為社交媒體和營銷的重要組成部分,有越來越多的人參與到視頻剪輯當中來,而其中最為關鍵的就是視頻剪輯軟件。而市面上的視頻剪輯軟件當然也是五花…

ad電阻原理圖_【雕爺學編程】Arduino動手做(2)---光敏電阻模塊

【Arduino】108種傳感器模塊系列實驗(02)實驗二:光敏電阻傳感器模塊我手里這塊是三針版的,挺秀氣吧光敏電阻是用硫化隔或硒化隔等半導體材料制成的特殊電阻器,其工作原理是基于內光電效應。光照愈強,阻值就…

java從url下載文件_Java從URL下載文件

在這篇文章中將學習如何從java下載URL中的文件。使用java.net.URL openStream()方法從java程序中的URL下載文件。也可以使用Java NIO Channels或Java IO InputStream從URL打開流中讀取數據,然后將它保存到文件中。下面是從指定URL下載的簡單Java程序。它演示了如何在…

怎么判斷一個字符串的最長回文子串是否在頭尾_LeetCode 第 131 號問題:分割回文串...

題目來源于 LeetCode 上第 131 號問題:分割回文串。題目難度為 Medium,目前通過率為 45.8% 。題目描述給定一個字符串 s,將 s 分割成一些子串,使每個子串都是回文串。返回 s 所有可能的分割方案。示例:輸入題目解析首先&#xff0…

java的地位_Java地位無可動搖的12個原因

如今,面對曾經在程序員中被各種新技術掩蓋直至堙滅的技術值得懷念。猶如COBOL這當年被老程序員們尊為神器的語言如今也基本沒有價值。而Java作為現代程序員的中堅力量在這點上會不會成為下一個COBOL?有關JAVA的技術賣出多少本書已經是一個很久遠的記憶了…

hystrix threadpool coresize_Hystrix斷路器 - 求知若渴的蝸牛

Hystrix介紹在微服務場景中,通常會有很多層的服務調用。如果一個底層服務出現問題,故障會被向上傳播給用戶。我們需要一種機制,當底層服務不可用時,可以阻斷故障的傳播。這就是斷路器的作用。他是系統服務穩定性的最后一重保障。在…

ionic保存到mysql_ionic sqlite 存取數據封裝(兼容真機與webkit瀏覽器)

不管是真機還是H5,都有提供sqlite數據庫進行存儲數據。那么我們只要封裝好函數就能隨意調用了。如果只是存儲簡單的鍵值對形式的話,ionic官網也提供了一個兼容網頁的storage,https://ionicframework.com/docs/storage,但只能key/v…

sql plus 表的總記錄數是多少_直播回顧 | 億級并發絲毫不虛,TDSQL-SQL引擎是如何煉成的...

騰訊云數據庫國產數據庫專題線上技術沙龍正在火熱進行中,3月19日唐顥的分享已經結束,沒來得及參與的小伙伴不用擔心,以下就是直播的視頻和文字回顧。關注“騰訊云數據庫”公眾號,回復“0319唐顥”,即可下載直播分享PPT…

java plug機制_插件機制 - OpooPress - 基于 Java 的靜態博客生成器

插件機制通過插件機制可以很容易的擴展 OpooPress 博客系統的功能。 Plugin 定義如下public interface Plugin{/**** param registry*/void initialize(Registry registry);}Registry 接口定義如下:public interface Registry {Site getSite();void registerConvert…

運放放大倍數計算公式_19.運算放大器的特性與應用,不得不掌握的知識點(一)...

運算放大器,簡稱“運放”,是電力電子中最重要的器件之一,主要作用為:信號放大、信號運算、信號處理、波形的產生和變換。一、運算放大器的內部結構集成運算放大器內部結構集成運算放大器內部一般由四個單元組成,各單元…

java選項設置_java環境配置

javac無法執行檢查:看看java 相關的java相關路徑有沒有多余的符號,比如多出分號,逗號(筆者上面是正確的路徑展示形式)Win10下 Java環境變量配置首先,你應該已經安裝了 Java 的 JDK 了(如果沒有安裝JDK,請跳轉到此網址&…