TeamTalk原始碼分析之服務端描述

2021-09-08 18:06:58 字數 1284 閱讀 5610

ttserver(teamtalk伺服器端)主要包含了以下幾種伺服器:

teamtalk中用到了其他開源庫,比如google protobuf、redis、log4cxx等。

服務端的啟動沒有嚴格的先後流程,因為各端在啟動後會去主動連線其所依賴的服務端,如果相應的服務端還未啟動,會始終嘗試連線。不過在此,如果是線上環境,還是建議按照如下的啟動順序去啟動(也不是唯一的順序):

1、啟動db_proxy。

2、啟動route_server,file_server,msfs

3、啟動login_server

4、啟動msg_server

那麼我就按照服務端的啟動順序去講解服務端的乙個流程概述。

第一步:啟動db_proxy後,db_proxy會去根據配置檔案連線相應的mysql例項,以及redis例項。

第二步:啟動route_server,file_server,msfs後,各個服務端都會開始監聽相應的埠。

第三步:啟動login_server,login_server就開始監聽相應的埠(8080),等待客戶端的連線,而分配乙個負載相對較小的msg_server給客戶端。

第四步:啟動msg_server(埠8000),msg_server啟動後,會去主動連線route_server,login_server,db_proxy_server,會將自己的監聽的埠資訊註冊到login_server去,同時在使用者上線,下線的時候會將自己的負載情況匯報給login_server.

(ps:這裡是按照新版teamtalk部署教程上的設定的,不同設定會有不同結果^_^,詳情見新版teamtalk完整部署教程,注意:如果出現部署完成後但是服務程序啟動有問題或者只有部分服務程序啟動了,請檢視相應的log日誌,請檢視相應的log日誌,請檢視相應的log日誌,重要的事情說3遍。)

服務埠login_server

1、新版teamtalk完整部署教程(這個是完整部署教程,當時就是按照這個配置來的^_^)

2、mogujie

/teamtalk(ps:官方貌似好久沒更新了)

3、google protobuf安裝與使用(ps:teamtalk中用到了protobuf)

InfluxDB原始碼閱讀之httpd服務

作業系統 centos7.3.1611 x64 go語言版本 1.8.3 linux amd64 influxdb版本 1.1.0 原始碼路徑 github.com influxdata influxdb services httpd config test.go 配置測試 service.go h...

原始碼分析之LayoutInflater

簡介 inflate填充的過程 viewstub,merge,include的載入過程 layoutinflater系統服務的註冊過程 systemserviceregistry類有個靜態 塊,完成了常用服務的註冊,如下 static 註冊am registerservice context.act...

原始碼分析之HashMap

首先hashmap繼承了abstractmap,並且實現了map cloneable和serializable三個介面。cloneable和serializable是比較常規的兩個介面,在這裡並不作為重點。重點將會放在abstractmap和map兩個規範上。其中abstractmap是乙個抽象類,...