久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线

Discuz! 官方交流社區

標題: discuz程序打算做負載均衡,但是不知道緩存會不會出問題? [打印本頁]

作者: 一劍橫天    時間: 2024-7-13 22:45
標題: discuz程序打算做負載均衡,但是不知道緩存會不會出問題?
目前是這樣打算的,請問其中會不會有問題。
我們數據庫是放在獨立服務器里的,圖片放在對象存儲里,緩存用了redis。

現在準備復制A服務器的整站程序到B站,然后通過域名的解析同時解析到A和B里。


一般的程序這樣操作應該沒啥問題,但是discuz的緩存好像也是有本地文件的?這樣的話A和B因為訪問的人不一樣,那緩存文件好像就會不一樣。

那兩邊緩存不一樣的情況,會導致程序出現各種稀奇古怪的問題嗎?

作者: myboss    時間: 2024-7-15 00:23
A服務器和B服務器做文件同步
作者: 科站網    時間: 2024-7-15 10:29
所以一般discuz負載均衡的話同時data目錄同時掛載一個data目錄
作者: 科站網    時間: 2024-7-15 10:30
但事實上,靜態的CSS和JS、圖片都可以OSS化https://addon.dismall.com/plugins/tshuz_staticoss.html,只有模板和插件不能
作者: 一劍橫天    時間: 2024-7-17 02:26
myboss 發表于 2024-7-15 00:23
A服務器和B服務器做文件同步

緩存這個不太現實啊
作者: 一劍橫天    時間: 2024-7-17 02:27
科站網 發表于 2024-7-15 10:29
所以一般discuz負載均衡的話同時data目錄同時掛載一個data目錄

怎么掛載呢?兩個服務器都是同一個域名啊,然后文件在不同的服務器,目錄什么都不一樣啊
作者: 一劍橫天    時間: 2024-7-17 02:28
科站網 發表于 2024-7-15 10:30
但事實上,靜態的CSS和JS、圖片都可以OSS化https://addon.dismall.com/plugins/tshuz_staticoss.html,只有 ...

主要是緩存文件夾,不知道怎么處理好
作者: 一劍橫天    時間: 2024-7-17 10:11
就是不知道緩存文件夾怎么公用
作者: 天外飄仙    時間: 2024-7-17 10:43
負載均衡 不是你這樣做的!

你可以 整站 放到A 服務器 ,  然后 用 b服務器 做 反代!

這樣你的域名 就可以做輪詢 解析到 A和B了
作者: 一劍橫天    時間: 2024-7-17 11:29
天外飄仙 發表于 2024-7-17 10:43
負載均衡 不是你這樣做的!

你可以 整站 放到A 服務器 ,  然后 用 b服務器 做 反代!

這叫哪門子的負載均衡....
這樣的話,B服務器僅僅是代理服務器,所有的數據依然是A服務器來處理
占用的依然是A服務器的資源和帶寬,B服務器僅僅做個反代中轉,幾乎不占用其資源,那有啥意義
作者: 科站網    時間: 2024-7-17 13:38
天外飄仙 發表于 2024-7-17 10:43
負載均衡 不是你這樣做的!

你可以 整站 放到A 服務器 ,  然后 用 b服務器 做 反代!

反代的話不是還得用A服務器的資源
作者: 天外飄仙    時間: 2024-7-17 14:35
科站網 發表于 2024-7-17 13:38
反代的話不是還得用A服務器的資源

緩存 緩存  緩存
作者: 天外飄仙    時間: 2024-7-17 14:41
科站網 發表于 2024-7-17 13:38
反代的話不是還得用A服務器的資源

這是簡單的辦法了……
利用 b服務器的 緩存 來減輕 a服務器的 負擔;

如果 想在a和b上邊 都運行 dz的 php腳本 就麻煩了……
作者: 科站網    時間: 2024-7-17 14:44
天外飄仙 發表于 2024-7-17 14:41
這是簡單的辦法了……
利用 b服務器的 緩存 來減輕 a服務器的 負擔;

那不叫負載均衡啊。。。
實際上一點壓力都沒減少,徒增了代理浪費的時間
作者: 天外飄仙    時間: 2024-7-17 14:46
科站網 發表于 2024-7-17 14:44
那不叫負載均衡啊。。。
實際上一點壓力都沒減少,徒增了代理浪費的時間 ...

怎么會 一點壓力 沒減少……

靜態文件帶來的 硬盤io壓力 和 帶寬壓力 都會 分擔一部分的
作者: 一劍橫天    時間: 2024-7-17 14:58
天外飄仙 發表于 2024-7-17 14:46
怎么會 一點壓力 沒減少……

靜態文件帶來的 硬盤io壓力 和 帶寬壓力 都會 分擔一部分的 ...

這個降低的壓力才多大...
如果不是緩存問題的話,那么2臺同樣的服務器,一臺只承擔50%的CPU和帶寬了


作者: 科站網    時間: 2024-7-17 16:26
天外飄仙 發表于 2024-7-17 14:46
怎么會 一點壓力 沒減少……

靜態文件帶來的 硬盤io壓力 和 帶寬壓力 都會 分擔一部分的 ...

首先:附件都可以遠程、靜態文件包括緩存的css、js都可以遠程
你代理不是增加了話最終服務還不是A上嗎,io不還是在A上么,B到A不占用帶寬么?
作者: 天外飄仙    時間: 2024-7-17 16:39
科站網 發表于 2024-7-17 16:26
首先:附件都可以遠程、靜態文件包括緩存的css、js都可以遠程
你代理不是增加了話最終服務還不是A上嗎,i ...

反代;

靜態文件會緩存到 B上的,   和cdn加速 一個性質
作者: 科站網    時間: 2024-7-17 17:31
天外飄仙 發表于 2024-7-17 16:39
反代;

靜態文件會緩存到 B上的,   和cdn加速 一個性質

附件遠程化后,靜態文件畢竟少數,而更多的是data下的緩存文件,這類你反代、cdn不了的,只能掛載
作者: 一劍橫天    時間: 2024-7-17 18:20
科站網 發表于 2024-7-17 17:31
附件遠程化后,靜態文件畢竟少數,而更多的是data下的緩存文件,這類你反代、cdn不了的,只能掛載 ...

開了redis后,還會生成data的緩存文件嗎?
作者: 科站網    時間: 2024-7-17 19:18
一劍橫天 發表于 2024-7-17 18:20
開了redis后,還會生成data的緩存文件嗎?

會,你要是都是阿里云,直接掛載oss目錄就行,如果不同就掛載硬盤
作者: 一劍橫天    時間: 2024-7-17 21:09
科站網 發表于 2024-7-17 19:18
會,你要是都是阿里云,直接掛載oss目錄就行,如果不同就掛載硬盤

看了下,緩存文件夾只是換成了一些模板文件,還有js和CSS,開始我還以為緩存了數據呢...
還以為跟個別插件一樣,把數據緩存成了文件

那是可以放到對象存儲了
作者: 天外飄仙    時間: 2024-7-18 08:40
一劍橫天 發表于 2024-7-17 14:58
這個降低的壓力才多大...
如果不是緩存問題的話,那么2臺同樣的服務器,一臺只承擔50%的CPU和帶寬了

如果你想  b服務器也 負擔php腳本的執行壓力的話 ,  就復雜了的!

如果真這樣想的話 建議你直接用  空間商的負載均衡方案
作者: 科站網    時間: 2024-7-18 09:17
天外飄仙 發表于 2024-7-18 08:40
如果你想  b服務器也 負擔php腳本的執行壓力的話 ,  就復雜了的!

如果真這樣想的話 建議你直接用  空間 ...

一個nginx,一個掛載就行
作者: 天外飄仙    時間: 2024-7-18 10:15
科站網 發表于 2024-7-17 17:31
附件遠程化后,靜態文件畢竟少數,而更多的是data下的緩存文件,這類你反代、cdn不了的,只能掛載 ...

data下的緩存文件 也屬于靜態文件,

都可以直接走cdn反代緩存 ,不走源服務器的
作者: 天外飄仙    時間: 2024-7-18 10:19
科站網 發表于 2024-7-18 09:17
一個nginx,一個掛載就行

還有其他問題的,

比如session,
多ip, 用戶訪問網站的時候 可能 切換訪問到其他ip的……

是否還有其他問題 我就不知道了, 畢竟我不是專業的運維……

沒有專業運維支持,  還是盡量 單臺 php負載的好  ,  或者是 直接用  空間商提供的現成方案;

作者: 科站網    時間: 2024-7-18 11:06
天外飄仙 發表于 2024-7-18 10:15
data下的緩存文件 也屬于靜態文件,

都可以直接走cdn反代緩存 ,不走源服務器的 ...

PHP文件你也走反代緩存?session都有解決方法,nginx+掛載是當年康盛給的方案,當年都支持,現在更沒問題,尤其是OSS可以直接掛載、穩定性和可靠性都不成問題,當年我自己掛載硬盤可麻煩了
作者: 天外飄仙    時間: 2024-7-18 11:18
科站網 發表于 2024-7-18 11:06
PHP文件你也走反代緩存?session都有解決方法,nginx+掛載是當年康盛給的方案,當年都支持,現在更沒問題 ...

除了 session 還有 其他問題要 處理嗎?

多ip, 用戶登錄  正訪問著網站的,  突然 網絡原因 突然自動 切換ip了;

回話保持 會不會有問題
作者: 天外飄仙    時間: 2024-7-18 11:22
一劍橫天 發表于 2024-7-17 10:11
就是不知道緩存文件夾怎么公用

可以參考
https://www.annhe.net/article-3936.html
給緩存文件 單獨弄一個域名 只解析到A 服務器
作者: 科站網    時間: 2024-7-18 11:26
天外飄仙 發表于 2024-7-18 11:22
可以參考
https://www.annhe.net/article-3936.html
給緩存文件 單獨弄一個域名 只解析到A 服務器 ...

你堅持我這種叫負載均衡的話我只能說這是靜態文件的一種負載解決方案,但是對于PHP,這不是負載均衡,這啥都沒做
作者: 科站網    時間: 2024-7-18 11:27
天外飄仙 發表于 2024-7-18 11:18
除了 session 還有 其他問題要 處理嗎?

多ip, 用戶登錄  正訪問著網站的,  突然 網絡原因 突然自動 切換 ...

不會有問題,7年前我給一個大站弄過
作者: 470342341    時間: 2024-7-18 11:32
很好奇 日ip多少了  竟然需要 這樣操作
作者: 科站網    時間: 2024-7-18 13:23
470342341 發表于 2024-7-18 11:32
很好奇 日ip多少了  竟然需要 這樣操作


也許帶寬不夠、也許CPU不夠呢,以阿里云帶寬為例,99是3M,199是5M,如果買兩個99,加起來就是6M

(, 下載次數: 0)




作者: 數碼達人    時間: 2024-7-18 14:37
可以用Apache做反向代理,沒有延遲,與訪問主服務器沒有區別。
作者: 一劍橫天    時間: 2024-7-18 15:46
天外飄仙 發表于 2024-7-18 10:19
還有其他問題的,

比如session,

負載均衡,那是把代碼部署到多臺服務器,然后每臺服務器的代碼一致,數據庫公用。
然后通過域名解析的時候隨機分配到其中一臺服務器。
這樣就實現了CPU、內存還有帶寬負載均衡,共同分擔
作者: 一劍橫天    時間: 2024-7-18 15:51
科站網 發表于 2024-7-18 13:23
也許帶寬不夠、也許CPU不夠呢,以阿里云帶寬為例,99是3M,199是5M,如果買兩個99,加起來就是6M

差不多是這樣。現在主要是帶寬貴。
像騰訊云2核4G6M的輕量云買2臺,可比買一臺4核8G12M的輕量云便宜多了

我這邊看了下緩存文件的東西,里面只是存了模板文件、js和CSS之類的,數據依然在數據庫里。

我們程序在數據庫是單獨的服務器,
那我現在直接把A服務器鏡像備份到B服務器去,然后域名解析的時候同時解析到A和B,隨機分配訪問就可以負載均衡了。

現在唯一就是如果更新模板文件,需要兩個服務器都去操作清除緩存


作者: 一劍橫天    時間: 2024-7-18 15:52
470342341 發表于 2024-7-18 11:32
很好奇 日ip多少了  竟然需要 這樣操作

國內服務器帶寬貴啊,網站對CPU要求不高,但是對帶寬要求高點,2臺2核4G6M比一臺4核8G12M便宜多了
作者: 470342341    時間: 2024-7-19 13:57
科站網 發表于 2024-7-18 13:23
也許帶寬不夠、也許CPU不夠呢,以阿里云帶寬為例,99是3M,199是5M,如果買兩個99,加起來就是6M

以discuz 為核心的網站,  主要費寬帶的 就是圖片或者 附件資源,可以外鏈 解決。 CPU 如果同時訪問的人不多  用不了 多少 cpu吧
作者: 科站網    時間: 2024-7-19 15:24
470342341 發表于 2024-7-19 13:57
以discuz 為核心的網站,  主要費寬帶的 就是圖片或者 附件資源,可以外鏈 解決。 CPU 如果同時訪問的人 ...

那可能是你沒見到需要多臺機器部署的吧,以前我搞的時候,兩臺MYSQL主機、三臺跑PHP程序、一臺專門放附件,帶寬忽略,客戶有錢
作者: 天外飄仙    時間: 2024-7-19 15:36
一劍橫天 發表于 2024-7-18 15:51
差不多是這樣。現在主要是帶寬貴。
像騰訊云2核4G6M的輕量云買2臺,可比買一臺4核8G12M的輕量云便宜多了
...

緩存文件的問題;
你按我前邊說的, 單獨給緩存文件 加個 域名解析到 某一臺服務器  就ok了的
作者: 科站網    時間: 2024-7-19 15:39
一劍橫天 發表于 2024-7-18 15:51
差不多是這樣。現在主要是帶寬貴。
像騰訊云2核4G6M的輕量云買2臺,可比買一臺4核8G12M的輕量云便宜多了
...

掛載啊,我講了很多次了,方案很明確
作者: 巡山山大王    時間: 2024-7-23 08:51
反正我是用著負載均衡 三臺主機自己搭建的  主要是data目錄 或整站同步 緩存就沒問題
作者: 一劍橫天    時間: 2024-8-6 21:51
科站網 發表于 2024-7-19 15:39
掛載啊,我講了很多次了,方案很明確

不知道不同的服務器,怎么跨服務器目錄進行掛載(這幾臺服務器的域名是一樣的呢)
作者: 天外飄仙    時間: 2024-8-9 08:14
一劍橫天 發表于 2024-8-6 21:51
不知道不同的服務器,怎么跨服務器目錄進行掛載(這幾臺服務器的域名是一樣的呢) ...

rsync同步文件 應該也行
作者: myboss    時間: 2024-8-9 10:03
天外飄仙 發表于 2024-8-9 08:14
rsync同步文件 應該也行

你們研究半天,不還是A服務器和B服務器做文件同步嘛?
rsync的同步機制沒研究,因為自己還用不到沒準兒有網絡延遲、服務器磐機,沒同步過來的狀況?

作者: 天外飄仙    時間: 2024-8-13 08:30
myboss 發表于 2024-8-9 10:03
你們研究半天,不還是A服務器和B服務器做文件同步嘛?
rsync的同步機制沒研究,因為自己還用不到沒準兒有 ...

懶得解釋
作者: myboss    時間: 2024-8-13 08:56
巡山山大王 發表于 2024-7-23 08:51
反正我是用著負載均衡 三臺主機自己搭建的  主要是data目錄 或整站同步 緩存就沒問題 ...

www.quooo.com這網站用上均衡負載了?
妥妥的實操經驗
作者: myboss    時間: 2024-8-13 08:57
天外飄仙 發表于 2024-8-13 08:30
懶得解釋

無需解釋我懂你
作者: myes    時間: 2024-8-21 13:56
科站網 發表于 2024-7-15 10:29
所以一般discuz負載均衡的話同時data目錄同時掛載一個data目錄

那可以把data同步到云NFS共享存儲




歡迎光臨 Discuz! 官方交流社區 (http://www.9999xn.com/) Powered by Discuz! W1.0