中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

泰安做網(wǎng)站哪家好企業(yè)網(wǎng)站制作方案

泰安做網(wǎng)站哪家好,企業(yè)網(wǎng)站制作方案,蘋果電腦做網(wǎng)站好用嗎,新網(wǎng)虛擬主機先直接拋出業(yè)務(wù)背景! 有一款游戲,日活躍量(DAU)在兩千左右,雖然 DAU 不高,但這兩千用戶的忠誠度非常高,而且會持續(xù)為游戲充值;為了進一步提高用戶體驗,繼續(xù)增強用戶的忠…

先直接拋出業(yè)務(wù)背景!

有一款游戲,日活躍量(DAU)在兩千左右,雖然 DAU 不高,但這兩千用戶的忠誠度非常高,而且會持續(xù)為游戲充值;為了進一步提高用戶體驗,繼續(xù)增強用戶的忠誠度,老板想要在該款游戲中引入聊天功能,同時探索和驗證游戲用戶對 IM 的需求和依賴度。IM 需要在兩周后上線,如果你是這個 IM 項目的架構(gòu)師,帶著兩名經(jīng)驗尚欠的程序員,你如何設(shè)計并落地該 IM 系統(tǒng)?

業(yè)務(wù)背景并不復(fù)雜,簡單總結(jié)一下:

  1. 用戶規(guī)模小:DAU 在兩千左右,同時在線人數(shù)高峰期不到200;

  2. 開發(fā)人員少:一名架構(gòu)師加兩名程序員;

  3. 開發(fā)時間短:一周開發(fā)加一周測試,只有兩周時間。

這種情況下,研發(fā)策略通常是:怎么簡單就怎么做,怎么快就怎么來!

所以對該 IM 系統(tǒng)采用【單體架構(gòu)】的方式進行設(shè)計,見下圖。

前端是運行安卓系統(tǒng)和 IOS 系統(tǒng)的移動設(shè)備,游戲 APP 內(nèi)嵌 IM 的客戶端,由前端同學(xué)負責(zé)開發(fā)。

后端是 Server 節(jié)點,通過多進程多機器部署的方式,避免 “單點”; 這個地方需要注意:【單體架構(gòu)】并非 “單點架構(gòu)” ,單體架構(gòu)仍然是分布式架構(gòu)的一種,通過集群的方式提供高可用和高吞吐的服務(wù);對多個 Server 節(jié)點的訪問通過 Nginx 來做反向代理;Server節(jié)點由后端同學(xué)負責(zé)開發(fā)。

存儲部分包括數(shù)據(jù)庫和緩存,數(shù)據(jù)庫中分別創(chuàng)建 “消息表”、“離線消息表”、“聯(lián)系人表” 和 “用戶表”; 緩存用來記錄用戶的在線信息;數(shù)據(jù)庫和緩存由 DBA 同學(xué)負責(zé)維護。

單體架構(gòu)的系統(tǒng),最大的優(yōu)勢就是在項目前期開發(fā)簡單、部署簡單、測試簡單、運維簡單,開發(fā)同學(xué)幾乎可以將所有的注意力全部放在業(yè)務(wù)邏輯上,實現(xiàn)真正的【快速落地】。

下面分別討論一下關(guān)鍵的技術(shù)選型:前端與后端的通訊協(xié)議、后端的編程語言、數(shù)據(jù)庫選型。

一、通訊協(xié)議

前端與后端之間的通訊協(xié)議,有四種選擇,見下表。

IM 系統(tǒng)通常會選擇 “長連接” 類型的協(xié)議;但是 WebSocket 協(xié)議因為剛推出不久,成熟度不高;TCP 協(xié)議屬于傳輸層協(xié)議,較為復(fù)雜,如果沒有豐富的 TCP 網(wǎng)絡(luò)編程經(jīng)驗的話,在研發(fā)時間非常緊張的情況下,建議不要選擇 TCP。

所以,這里我們選擇最簡單和最容易落地的協(xié)議—Http;對于編程經(jīng)驗尚欠的應(yīng)屆生來講,Http編程也不會有太大難度。

分析到這里,相信大家肯定有這樣的疑惑:Http 是短連接的無狀態(tài)協(xié)議,如何進行消息的即時通訊呢?難道是通過客戶端周期性的輪詢訪問嗎? 是的,同時在線人數(shù)只有幾百的情況下,客戶端周期性輪詢是完全沒有問題的,況且Server是多節(jié)點部署,完全可以 Cover 客戶端周期輪詢的壓力。

二、編程語言

Server 端編程語言,也有四種選擇(公司內(nèi)部正在使用的技術(shù)棧),見下表。

C++、Java、PHP、Go 四門編程語言都有非常成熟的并發(fā)編程模型,這里我們選擇公司和團隊最熟悉的語言—Go,使用最熟悉的語言才會帶來更高的編程效率和更快的問題解決速度。

三、數(shù)據(jù)庫

數(shù)據(jù)庫選型有三種選擇,分別是關(guān)系型 SQL 數(shù)據(jù)庫—MySQL、非關(guān)系型 NoSQL 數(shù)據(jù)庫—MongoDB、已經(jīng)新興的NewSQL 數(shù)據(jù)庫—TiDB,見下表。

在該單體架構(gòu)的 IM 系統(tǒng)中,數(shù)據(jù)庫需要提供強事務(wù)能力,來保證業(yè)務(wù)的完整邏輯;同時,數(shù)據(jù)庫需要做到更低成本的運維;這里我們選擇滿足需求和容易運維的數(shù)據(jù)庫—MySQL。

最后,總結(jié)文中關(guān)鍵:

1、業(yè)務(wù)背景:用戶規(guī)模小、開發(fā)人員少、開發(fā)時間短;

2、研發(fā)策略:怎么簡單怎么做,怎么快怎么來;

3、 IM單體架構(gòu): 前端(APP)+ Server + 數(shù)據(jù)庫

單體架構(gòu)最大的優(yōu)勢就是在項目前期開發(fā)簡單、部署簡單、測試簡單、運維簡單。

4、技術(shù)選型:

選擇最簡單和最容易落地的協(xié)議—Http,

選擇公司和團隊最熟悉的語言—Go,

選擇滿足需求和容易運維的數(shù)據(jù)庫—MySQL。

提出一個思考問題,我們會在下篇技術(shù)短文中進行分析:

基于該IM單體架構(gòu),如何實現(xiàn)用戶的登錄和收發(fā)消息呢?Server 節(jié)點是無狀態(tài)化的嗎?

http://www.risenshineclean.com/news/4671.html

相關(guān)文章:

  • 浦東新區(qū)網(wǎng)站建設(shè)公司哪家靠譜奇葩網(wǎng)站100個
  • html 網(wǎng)站地圖北京seo顧問推推蛙
  • 臨沂最好的做網(wǎng)站公司網(wǎng)絡(luò)推廣費用高嗎
  • 網(wǎng)站開發(fā)需要團隊怎么做互聯(lián)網(wǎng)推廣
  • 上海高端定制網(wǎng)站公司河南企業(yè)網(wǎng)站建設(shè)
  • 有人知道網(wǎng)站怎么做嗎海外網(wǎng)站
  • 濟南網(wǎng)站建設(shè)599網(wǎng)絡(luò)推廣的方法有
  • 上海網(wǎng)站建設(shè)公司地廣州專業(yè)seo公司
  • 如何查到別人的網(wǎng)站做哪些競價詞友情鏈接查詢友情鏈接檢測
  • wordpress如何建站群百度數(shù)據(jù)分析工具
  • W做網(wǎng)站最佳bt磁力狗
  • 難道做網(wǎng)站必須用vue框架嗎系統(tǒng)優(yōu)化軟件哪個好
  • 食品行業(yè)網(wǎng)站開發(fā)seo資源咨詢
  • 現(xiàn)在什么視頻網(wǎng)站做的最好網(wǎng)絡(luò)營銷論文
  • 最新的網(wǎng)站建設(shè)軟件百度個人中心登錄
  • 工業(yè)設(shè)計專業(yè)就業(yè)前景怎么樣百度優(yōu)化服務(wù)
  • 網(wǎng)站內(nèi)怎樣做關(guān)鍵詞有效果網(wǎng)絡(luò)優(yōu)化論文
  • 賺錢網(wǎng)站開發(fā)天津百度推廣
  • 凡客誠品是品牌嗎廣州seo外包
  • 阿里巴巴批發(fā)網(wǎng)站上面怎么做微商單頁網(wǎng)站制作
  • 網(wǎng)站建設(shè)宗旨怎么寫谷歌推廣效果怎么樣
  • 項目網(wǎng)站建設(shè)方案佛山網(wǎng)站建設(shè)工作
  • 做便民網(wǎng)站都需要提供什么海外推廣
  • 做英文網(wǎng)站用目錄還是子域名找做網(wǎng)站的公司
  • 小企業(yè)想做網(wǎng)站推廣找哪家強網(wǎng)站服務(wù)器ip地址查詢
  • 公司做網(wǎng)站好不好長沙seo服務(wù)哪個公司好
  • 網(wǎng)站一鍵制作哪家公司做seo
  • 網(wǎng)站開發(fā)與維護算什么職位公司培訓(xùn)
  • 怎么來自己做網(wǎng)站優(yōu)化360手機優(yōu)化大師安卓版
  • 嘉興做網(wǎng)站優(yōu)化識圖搜索在線 照片識別