第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

php架構(gòu)常被問到如何提高數(shù)據(jù)庫(kù)的并發(fā)寫入,如何回答啊?

php架構(gòu)常被問到如何提高數(shù)據(jù)庫(kù)的并發(fā)寫入,如何回答???

PHP
慕哥6287543 2018-07-17 10:22:04
項(xiàng)目瓶頸一般是數(shù)據(jù)庫(kù),因?yàn)闄C(jī)器瓶頸可以用負(fù)載均衡器加很多機(jī)器解決,數(shù)據(jù)庫(kù)讀取的瓶頸可以用多個(gè)從庫(kù)來解決,可是并發(fā)寫入如何提高呢?特別是那種需要馬上得到插入結(jié)果的,不能用消息隊(duì)列解決的如何做呢?
查看完整描述

1 回答

?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊

個(gè)人一些看法:(什么語(yǔ)言都差不多的,我這邊是Java的)

省略前頭的部分內(nèi)容,畢竟是比較簡(jiǎn)單的演化過程

我們將session做成一個(gè)session服務(wù)器,browser1通過負(fù)載均衡請(qǐng)求服務(wù)器,服務(wù)器將session信息存儲(chǔ)到session服務(wù)器中,當(dāng)想要獲取時(shí)就反向進(jìn)行。(缺點(diǎn):目前session Server是單點(diǎn)的,如何解決單點(diǎn),保證可用性)

https://img1.sycdn.imooc.com//5b52dca80001940607300172.jpg

我們可以將Session Server也做成集群,其適合用于Session數(shù)量與web服務(wù)數(shù)量大的情況下,更改架構(gòu)后,也要修改應(yīng)用存儲(chǔ)session的業(yè)務(wù)邏輯。

接下來我們?cè)倏纯磾?shù)據(jù)庫(kù),讀寫都要經(jīng)過數(shù)據(jù)庫(kù),當(dāng)用戶量達(dá)到一定量時(shí),數(shù)據(jù)庫(kù)又將成為一個(gè)瓶頸,則我們將如何解決?我們可以使用數(shù)據(jù)庫(kù)的讀寫分離,主從庫(kù),并通過統(tǒng)一的數(shù)據(jù)訪問模型進(jìn)行訪問,將所有讀操作引入到Slave服務(wù)器,將寫操作引入到主庫(kù)當(dāng)中,由于數(shù)據(jù)庫(kù)讀寫分離,所以應(yīng)用程序也要有相應(yīng)的變化,使用數(shù)據(jù)訪問模塊讓應(yīng)用程序開發(fā)人員不用理會(huì)讀寫分離的存在,這樣多數(shù)據(jù)源讀寫代碼對(duì)我們的業(yè)務(wù)就沒有了侵入(代碼層的演變,如何支持多數(shù)據(jù)源、如何封裝對(duì)業(yè)務(wù)沒有侵入、如何使用現(xiàn)用的ORM框架實(shí)現(xiàn)數(shù)據(jù)讀寫分離、是否更換ORM、其優(yōu)缺點(diǎn)?)

https://img1.sycdn.imooc.com//5b52dcb400018fe107450325.jpg

當(dāng)我們?cè)L問過大,I/O過大,我們數(shù)據(jù)的讀寫分離又將遇到這幾個(gè)問題,主從庫(kù)復(fù)制時(shí)是否延遲(分機(jī)房部署、跨機(jī)房傳輸),應(yīng)用對(duì)于數(shù)據(jù)源的路由問題,接著我們?yōu)榱颂岣叻?wù)器,增加了CND和反向代理服務(wù)器,使用CDN可以解決不同地方訪問速度問題、反向代理可以在機(jī)房中緩存用戶的資源。https://img1.sycdn.imooc.com//5b52dcc500012f9d07450338.jpg

這時(shí)文件服務(wù)器又出現(xiàn)了瓶頸,我們將文件服務(wù)器改為分布式文件服務(wù)器集群,我們要考慮到:如何不影響線上的業(yè)務(wù)訪問,是否需要業(yè)務(wù)部門幫忙清理數(shù)據(jù),是否需要備份服務(wù)器,是否需要重新做域名解析。

https://img1.sycdn.imooc.com//5b52dcd600011dc107410334.jpg

這時(shí)我們的數(shù)據(jù)庫(kù)又出現(xiàn)了新的瓶頸,我們選擇專庫(kù)專用的方式,進(jìn)行數(shù)據(jù)庫(kù)的垂直拆分,可以解決寫數(shù)據(jù)、并發(fā)、量大的問題,分庫(kù)后又將帶來一些新的問題:跨業(yè)務(wù)的事務(wù)(分布式事務(wù))

https://img1.sycdn.imooc.com//5b52dce60001625407510395.jpg

當(dāng)某個(gè)數(shù)據(jù)的訪問量、數(shù)據(jù)量、日志等過大達(dá)到瓶頸時(shí),這時(shí)我們就要進(jìn)行數(shù)據(jù)庫(kù)的水平拆分,我們將User拆分成Users1和Users2,水平拆分即將同一個(gè)數(shù)據(jù)表的數(shù)據(jù)拆分到兩個(gè)數(shù)據(jù)庫(kù)當(dāng)中,這時(shí)我們就解決了單數(shù)據(jù)庫(kù)的瓶頸。

https://img1.sycdn.imooc.com//5b52dcf90001606707410424.jpg

水平拆分后,SQL路由出現(xiàn)一些問題,假設(shè)我們想知道某個(gè)用戶是存在Users1還是Users2中,且由于分庫(kù),主鍵的策略也將有所不同,同時(shí)也將面臨一個(gè)分頁(yè)的問題(后臺(tái)管理系統(tǒng)在進(jìn)行展示時(shí)還要考慮分頁(yè)的問題),當(dāng)完成后,我們又發(fā)現(xiàn)應(yīng)用服務(wù)器的搜索量上升,這時(shí)我們將應(yīng)用服務(wù)器的搜索功能提取出來做成搜索引擎,同時(shí)部分場(chǎng)景使用NoSQL提高性能,

https://img1.sycdn.imooc.com//5b52dd080001db3a07480396.jpg

當(dāng)然以上架構(gòu)還存在部分問題,如負(fù)載均衡服務(wù)器是單點(diǎn),因此也可以將負(fù)載均衡服務(wù)器做成集群,進(jìn)行主從的熱備,同時(shí)做一個(gè)自動(dòng)切換的解決方案。

過程中:安全性、數(shù)據(jù)分析、監(jiān)控、反作弊........
繼續(xù)發(fā)展:SOA架構(gòu)、服務(wù)化、消息隊(duì)列、任務(wù)調(diào)度、多機(jī)房........


查看完整回答
反對(duì) 回復(fù) 2018-07-21
  • 1 回答
  • 0 關(guān)注
  • 1039 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)