<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Pebble-RPC分布式開發(fā)框架

          聯(lián)合創(chuàng)作 · 2023-09-23 12:46

          Pebble是一個(gè)分布式開發(fā)框架?;谠摽蚣埽梢宰岄_發(fā)者只需專注于業(yè)務(wù)邏輯的實(shí)現(xiàn),而不需要關(guān)注基礎(chǔ)功能的開發(fā),如網(wǎng)絡(luò)通信,數(shù)據(jù)存儲,集群管理等。使用pebble配套的運(yùn)營系統(tǒng),可方便的進(jìn)行游戲開區(qū)開服,版本升級,擴(kuò)容縮容等操作。

          當(dāng)前發(fā)布的Pebble版本,是一個(gè)Linux平臺C++版本的后臺開發(fā)框架。整個(gè)分布式開發(fā)框架包括:服務(wù)管理、集群管理、RPC通信、協(xié)程、廣播、進(jìn)程框架。

          • 服務(wù)管理:有了服務(wù)管理功能,客戶端無需手工配置服務(wù)器端的地址即可通信。每一個(gè)服務(wù)(service)都有一個(gè)唯一的名字,服務(wù)由一組具體的函數(shù)組成,每個(gè)服務(wù)器進(jìn)程可以管理多個(gè)服務(wù)。我們使用ZooKeeper來幫助完成服務(wù)和集群狀態(tài)管理:使用Pebble框架,服務(wù)端可方便的將服務(wù)的地址注冊到ZooKeeper,客戶端根據(jù)服務(wù)名字可方便的從ZooKeeper獲得服務(wù)器地址。

          • 集群管理:服務(wù)進(jìn)程啟動后,會自動與ZooKeeper之間維持心跳??蛻舳藭〞r(shí)從ZooKeeper獲取服務(wù)器端的地址信息,一旦服務(wù)進(jìn)程故障,客戶端會自動將其從服務(wù)列表中去除。同理,增加服務(wù)進(jìn)程也是一樣。從而可方便的實(shí)現(xiàn)集群狀態(tài)管理,可方便的對服務(wù)器進(jìn)行擴(kuò)容和縮容。

          • RPC通信:RPC(Remote Procedure Call,遠(yuǎn)程過程調(diào)用),可以讓開發(fā)者基于接口編程,更加專注于業(yè)務(wù)邏輯。借用于接口描述語言(IDL)和工具,可以自動生成客戶端和服務(wù)器端的接口代碼,服務(wù)器按需實(shí)現(xiàn)自己的業(yè)務(wù)邏輯,客戶端只需要按接口調(diào)用。雙方均無需要關(guān)心協(xié)議編解碼、網(wǎng)絡(luò)發(fā)送的細(xì)節(jié),減輕了開發(fā)量的同時(shí)也減少出錯(cuò)的可能。

          • 協(xié)程:協(xié)程可降低異步代碼的復(fù)雜度,讓代碼看起來像同步一樣,同時(shí)具有異步的性能。開發(fā)框架很好的集成了協(xié)程的功能,服務(wù)器端的處理已經(jīng)在一個(gè)協(xié)程里面。當(dāng)服務(wù)器端收到客戶端的RPC請求時(shí),系統(tǒng)會自動為你創(chuàng)建協(xié)程,請注意不要調(diào)用阻塞操作。如果要調(diào)用阻塞操作,需要將其修改為以協(xié)程的方式調(diào)用,否則整個(gè)server的處理能力會受到影響。

          • 廣播:廣播是游戲業(yè)務(wù)的一個(gè)常見需求。pebble支持服務(wù)器端server之間的廣播,也支持多服務(wù)器與多手機(jī)客戶端之間的廣播。無論是手機(jī)客戶端還是后臺服務(wù)器,只要大家加入一個(gè)相同的頻道(channel),就可以做到一呼百應(yīng)。廣播功能是在RPC的基礎(chǔ)上實(shí)現(xiàn),所以它的編程體驗(yàn)與RPC是一致的。

          • 進(jìn)程框架:它是一個(gè)單線程的開發(fā)框架,集成了上述功能。使用我們的框架,只需要調(diào)用少量接口,即可快速開發(fā)出游戲后臺server

          瀏覽 22
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  啊啊啊啊91 | 人妻日日夜夜 | www.成人在线 | 亚洲小日本欧美肏 | 午夜免费福利 |