国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

《大型網(wǎng)站系統(tǒng)與Java中間件》讀書筆記(上)

baukh789 / 2989人閱讀

摘要:另一個用戶請求過來,負載均衡器指派這個請求到服務器。這樣就平攤了請求這種方式就叫做輪詢策略還有很多種,就看你想怎么實現(xiàn)了,反正這個邏輯的代碼放在負載均衡器上。

前言
只有光頭才能變強。

文本已收錄至我的GitHub倉庫,歡迎Star:https://github.com/ZhongFuCheng3y/3y

這本書買了一段時間了,之前在杭州沒帶過去,現(xiàn)在讀完第三章,來做做筆記

這本書前三章都在科普和回顧中間件/分布式的基礎(chǔ),講得非常通俗易懂。在之前已經(jīng)我寫過基礎(chǔ)分布式相關(guān)文章,大家可以先去看看:

外行人都能看懂的SpringCloud,錯過了血虧!

什么是ZooKeeper?

什么是消息隊列?

什么是單點登錄(SSO)

一、為什么分布式?

在之前的文章(外行人都能看懂的SpringCloud,錯過了血虧!)也提過為什么要分布式:

模塊之間獨立,各做各的事,便于擴展,復用性高

高吞吐量。某個任務需要一個機器運行10個小時,將該任務用10臺機器的分布式跑(將這個任務拆分成10個小任務),可能2個小時就跑完了

在書上給出的觀點:

升級單機的處理能力的性價比越來越低,單機的處理能力存在瓶頸

分布式系統(tǒng)更加穩(wěn)定和可用(單機掛了就掛了,分布式掛了一般還有備用/不至于整個鏈路全掛)

1.1 大型網(wǎng)站架構(gòu)演進過程

其實在沒接觸過分布式之前,在逛論壇的時候,經(jīng)常會出現(xiàn)一些看起來很牛逼的詞,諸如”讀寫分離“、”分庫分表“、”主從架構(gòu)“、”負載均衡“、”單點故障“等等名詞,就覺得很高大上。下面我就稍微順著”大型網(wǎng)站架構(gòu)演進過程“來講解一下這些詞

在我們最開始接觸Java項目的時候,一般來說是單機的(數(shù)據(jù)庫、Web服務器都是同一臺機器)

網(wǎng)站對外開放以后,訪問量增大,服務器的壓力也隨之提高。此時,我們最簡單的做法就是可以將數(shù)據(jù)庫和應用分開,這樣可以緩解一下當前系統(tǒng)的壓力

應用服務器的壓力繼續(xù)增大,我們可以把應用服務器做成集群(說白了,就是加了臺機器)

加了臺應用服務器以后,就出現(xiàn)新的問題了:

用戶請求的時候,走哪臺服務器啊?

Session是依賴單臺服務器的,那Session怎么搞?

解決用戶走哪臺服務器,我們就在用戶請求到達應用服務器之前,加了一個”負載均衡器“,這個”負載均衡器“說白了就寫了用戶請求會到哪臺應用服務器的邏輯

比如說,一個用戶請求過來,負載均衡器指派這個請求到服務器A。另一個用戶請求過來,負載均衡器指派這個請求到服務器B。這樣就平攤了請求— 這種方式就叫做輪詢

...策略還有很多種,就看你想怎么實現(xiàn)了,反正這個邏輯的代碼放在負載均衡器上。

而Session的問題,我之前寫什么是單點登錄(SSO)已經(jīng)講過了,一般來說我們可以將Session保存在Redis上就行了。

隨著業(yè)務的發(fā)展,我們的數(shù)據(jù)量和訪問量都在增長,現(xiàn)在有不少的業(yè)務都是讀多寫少的,對于這種業(yè)務也是會直接反應到數(shù)據(jù)庫上。

于是,我們可以增加一個讀庫。寫入的操作走服務器C的MySQL,讀取的操作走服務器D的MySQL。這樣就實現(xiàn)了讀寫分離

一般來說,我們的寫庫也叫做主庫,讀庫也叫做從庫,在互聯(lián)網(wǎng)架構(gòu)中,這叫做主從架構(gòu),比如常見的架構(gòu):一主多從(詳細的參考資料:如何給老婆解釋什么是 Master-Slave)

針對讀多寫少的業(yè)務,我們還有優(yōu)化策略,引入搜索引擎和緩存

搜索引擎也相當于一個讀庫,使用搜索引擎的倒排表方式,能夠大大提升檢索的速度

緩存則將熱數(shù)據(jù)放入內(nèi)存中,如果查詢的數(shù)據(jù)在緩存中存在,則直接返回

搜索引擎和緩存的參考資料:

Redis合集

什么是Lucene

Elasticsearch入門

:這里說的索引和緩存就未必特指ES和Redis,比如緩存我也可以用本地緩存而不一定是Redis的。這里用Redis和ES只是我畫圖方便。

繼讀寫分離之后,數(shù)據(jù)庫還是遇到了瓶頸,此時我們就可以采用分庫分表策略了:

垂直拆分— 不同的業(yè)務數(shù)據(jù)分到不同的數(shù)據(jù)庫

水平拆分— 將同一張表的數(shù)據(jù)拆分到不同的數(shù)據(jù)庫中(原因是這張表的數(shù)據(jù)量/更新量太大了)

注:單表行數(shù)超過500萬行或者單表容量超過2GB才推薦進行分庫分表(如果預計三年都達不到這個數(shù)據(jù)量,不要在創(chuàng)建表的時候就分庫分表!) —《阿里巴巴 Java開發(fā)手冊》

在數(shù)據(jù)存儲方面,除了關(guān)系型數(shù)據(jù)庫之外,如果有別的業(yè)務場景,可能還需要引入分布式存儲系統(tǒng)

分布式文件系統(tǒng)

分布式Key-Value系統(tǒng)

分布式數(shù)據(jù)庫

數(shù)據(jù)庫問題解決之后,應用也面臨著挑戰(zhàn)(應用的功能會越做越多,應用也隨之越做越大),為了不讓應用持續(xù)變大,這就需要把應用拆開,從一個應用變?yōu)閮蓚€/多個應用。

不同功能/模塊之間的調(diào)用不再單純通過本機調(diào)用,引入了遠程的服務調(diào)用

某個應用只有一臺機器上運行著,如果這臺機器上出現(xiàn)了問題,導致這個應用無法運行,這就叫單點故障

最后

這本書《大型網(wǎng)站系統(tǒng)與Java中間件》的前三章主要是鋪墊什么是中間件、什么是分布式(從單機演進到分布式的過程)以及講述了網(wǎng)站的架構(gòu)演進過程,剩下的是回顧一些基礎(chǔ)。比如說:

bio/nio/aio

HTTP/Session

JVM

Java多線程以及并發(fā)的基礎(chǔ)知識

JUC包下的常見類

這些我都曾經(jīng)多多少少都做過筆記,不妨在我的公眾號下找找相關(guān)的文章。總的來說,還是讀得很過癮的!后面讀完下面的章節(jié),我會繼續(xù)分享,敬請期待。

樂于輸出干貨的Java技術(shù)公眾號:Java3y。公眾號內(nèi)有200多篇原創(chuàng)技術(shù)文章、海量視頻資源、精美腦圖,關(guān)注即可獲取!

覺得我的文章寫得不錯,點

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/74908.html

相關(guān)文章

  • 大型網(wǎng)站系統(tǒng)Java間件讀書筆記 (中)

    摘要:文本已收錄至我的倉庫,歡迎回顧上一篇大型網(wǎng)站系統(tǒng)與中間件讀書筆記一這周周末讀了第四章,現(xiàn)在過來做做筆記,希望能幫助到大家。沒錯,我們通過肯定是可以完成兩個系統(tǒng)之間的通信的問題的。 前言 只有光頭才能變強。文本已收錄至我的GitHub倉庫,歡迎Star:https://github.com/ZhongFuCheng3y/3y 回顧上一篇: 《大型網(wǎng)站系統(tǒng)與Java中間件》讀書筆記(一)...

    fredshare 評論0 收藏0
  • 那些年我看過的書 —— 致敬我的大學生活 —— Say Good Bye !

    摘要:開頭正式開啟我入職的里程,現(xiàn)在已是工作了一個星期了,這個星期算是我入職的過渡期,算是知道了學校生活和工作的差距了,總之,盡快習慣這種生活吧。當時是看的廖雪峰的博客自己也用做爬蟲寫過幾篇博客,不過有些是在前人的基礎(chǔ)上寫的。 showImg(https://segmentfault.com/img/remote/1460000010867984); 開頭 2017.08.21 正式開啟我...

    xiaoqibTn 評論0 收藏0
  • 讀書筆記大型分布式網(wǎng)站架構(gòu)設(shè)計實踐.分布式緩存

    摘要:接下來將介紹分布式緩存的典型代表,以及分布式緩存的應用場景。的分布式實現(xiàn)本身并不是一種分布式的緩存系統(tǒng),它的分布式是由訪問它的客戶端來實現(xiàn)的。 前言:本書是對分布式系統(tǒng)架構(gòu)涉及到的相關(guān)技術(shù)的一本科普書籍。由于很難作為開發(fā)參考,只能但求了解。所以通篇淺讀,對分布式系統(tǒng)進行大致的了解。因為寫的非常好,感覺非常有意思,自己也做不出總結(jié)。所謂的讀書筆記也就演變成了摘抄。 簡介 一個大型、穩(wěn)健、...

    pepperwang 評論0 收藏0
  • 好書共讀 | 國內(nèi)外互聯(lián)網(wǎng)技術(shù)大牛們都寫了哪些書籍?

    摘要:本項目主要收集國內(nèi)外各大互聯(lián)網(wǎng)公司技術(shù)大牛們出版的值得一看的書籍,歡迎推薦書籍完善內(nèi)容和排版。逆流而上阿里巴巴技術(shù)成長之路阿里巴巴集團成長集編委會總結(jié)阿里巴巴技術(shù)團隊在基礎(chǔ)架構(gòu)中間件數(shù)據(jù)庫業(yè)務開發(fā)等領(lǐng)域的經(jīng)典實踐以及對未來的思考。 出自 GitHub 開源組織 Doocs源地址:https://github.com/doocs/tech... 后面將會在 GitHub 陸續(xù)更新書籍清...

    goji 評論0 收藏0

發(fā)表評論

0條評論

baukh789

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<