在談高并發(fā)前,首先要了解應(yīng)用的場(chǎng)景。外行嘴里的『百萬并發(fā)』往往和實(shí)際開發(fā)人員所想的不是同一回事。

如果只是一個(gè)簡(jiǎn)單的" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營(yíng)銷資訊 > 網(wǎng)站運(yùn)營(yíng) > 如何用 Ruby on Rails 編寫支持高并發(fā)的網(wǎng)站?

如何用 Ruby on Rails 編寫支持高并發(fā)的網(wǎng)站?

時(shí)間:2023-11-25 13:18:01 | 來源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2023-11-25 13:18:01 來源:網(wǎng)站運(yùn)營(yíng)

如何用 Ruby on Rails 編寫支持高并發(fā)的網(wǎng)站?:很高興你能選擇 Rails 來開發(fā)你的 Web 應(yīng)用。

在談高并發(fā)前,首先要了解應(yīng)用的場(chǎng)景。外行嘴里的『百萬并發(fā)』往往和實(shí)際開發(fā)人員所想的不是同一回事。

如果只是一個(gè)簡(jiǎn)單的網(wǎng)站類應(yīng)用,比如是一個(gè)博客,論壇。在這種情況下,所謂的百萬并發(fā)也許僅僅只是指日活百萬;或者是同時(shí)在線人數(shù)有百萬,而我們知道普通的網(wǎng)站應(yīng)用的 HTTP 請(qǐng)求是不會(huì)一直跟服務(wù)器保持連接的,所以一般是指某一段時(shí)間出現(xiàn)過的用戶數(shù)量。

在這種情況下,所謂的百萬并發(fā),真正同時(shí)的并發(fā)連接數(shù),可能僅僅只有幾百幾千。這種情況下,普通的 Web 三層架構(gòu)是完全沒有問題的。如果能很好的利用緩存,能對(duì)數(shù)據(jù)庫做一些優(yōu)化,那么 Rails 是完全可以勝任的。Rails 的模式是一個(gè)進(jìn)程/線程處理一個(gè)請(qǐng)求,這是一種非常傳統(tǒng)可靠的模型,適合一些傳統(tǒng)的業(yè)務(wù)。我過去在暴走漫畫就處理過這種類型的『高』并發(fā)應(yīng)用,可以參考我的分享

曹力 - 屌絲程序員如何一個(gè)人打造日 PV 百萬的網(wǎng)站架構(gòu)
而如果真的是一個(gè)同時(shí)需要百萬個(gè)并發(fā)鏈接的話,那么 Rails 的模型也許并不合適。而且具體的解決方案,還是要根據(jù)場(chǎng)景才能設(shè)計(jì)出來。

如果是簡(jiǎn)單的 IO 密集型的應(yīng)用,可以考慮使用基于 Reactor 模型的框架如 EventMachine。Goliath 就是基于 EventMachine 和 Fiber的。

如果系統(tǒng)壓力更大,則并不建議使用 Rails,而 Padrino,Sinatra 因?yàn)椴l(fā)模型其實(shí)跟 Rails 接近,并不能極大提高并發(fā)能力。極端情況下還是應(yīng)該考慮更加適合業(yè)務(wù)模型的工具,如 Go,Erlang 等。

關(guān)鍵詞:支持,編寫

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉