php laravel 默认cookie加密 读取怎么办_Laravel+Nginx轻松实现读写分离、负载均衡,网站并发能力提升N倍...
隨著互聯網應用的廣泛普及,海量數據的存儲和訪問成為了系統設計的瓶頸問題。對于一個大型的互聯網應用,每天百萬級甚至上億的PV無疑對數據庫造成了相當高的負載。對于系統的穩定性和擴展性造成了極大的問題。
為此,我們需要使用負載均衡、讀寫分離的方式,提升網站的系統性能和訪問速度。
硬件設備配置:使用5臺服務器,3臺做負載,1臺做數據備份,1臺做應急處理服務器(內存:8G,硬盤容量:40G,CPU:4核)。一,Laravel讀寫分離配置(Laravel自行下載安裝):Laravel 6 讀寫分離配置比較簡單,只需修改 config/database.php完成對數據庫的配置就完成了讀寫分離,下面以 MySQL 數據庫為例,內容如下:
'mysql' => ['read' => ['host' => ['192.168.72.100','196.168.72.101',
????????????'196.168.72.102',],],'write' => ['host' => ['196.168.72.99',],],'sticky' ? ?=> true,'driver' ? ?=> 'mysql','database' ?=> 'database','username' ?=> 'root','password' ?=> '','charset' ? => 'utf8mb4','collation' => 'utf8mb4_unicode_ci','prefix' ? ?=> '',
],
設置完畢之后,Laravel6 默認將select 的語句讓read 指定的數據庫執行,insert/update/delete 則交給 write 指定的數據庫,達到讀寫分離的作用。二,nginx負載均衡配置(Nginx自行下載安裝):1、內置負載策略- 輪循(默認):Nginx根據請求次數,將每個請求均勻分配到每臺服務器上。
- 最少連接:將請求分配給連接數最少的服務器。Nginx會統計哪些服務器的連接數最少。
- IP Hash:綁定處理請求的服務器。第一次請求時,根據該客戶端的IP算出一個HASH值,將請求分配到集群中的某一臺服務器上。后面該客戶端的所有請求,都將通過HASH算法,找到之前處理這臺客戶端請求的服務器,然后將請求交給它來處理。
upstream server1 {
? ? ? ?server 192.168.72.100:80 weight=3 max_fails=3 fail_timeout=15 max_conns=1000;
? ? ? ?server 192.168.72.101:80 weight=2 max_fails=3 fail_timeout=15;
? ? ? ?server 192.168.72.102:80 weight=1 max_fails=3 fail_timeout=15 ;
? ? ? ?server 192.168.72.103:80 backup;
? ? ? ?server 192.168.72.104:80 down;
}
server {
? ? ? ?listen ? ? ? 80;
? ? ? ?server_name ?www.xxx.com;#charset koi8-r;
? ? ? ?access_log ?logs/host.access.log ?main;
? ? ? ?location / {
? ? ? ? ? ?proxy_pass ? http://server1;
? ? ? ? ? ?index ?index.html index.htm index.php;}
}
通過以上配置,便可以實現,在訪問www.xxx.com這個網站時,由于配置了proxy_pass地址,所有請求都會先通過nginx反向代理服務器,在服務器將請求轉發給目的主機時,讀取upstream為server1的地址,讀取分發策略,配置權重為3,所以nginx會將大部分請求發送給100服務器上,較少部分給102服務器來實現有條件的負載均衡。
backup 參數說明:1)、down:表示單前的server暫時不參與負載
2)、weight:默認為1,weight越大,負載的權重就越大。
3)、max_fails:允許請求失敗的次數默認為1.當超過最大次數時,返回proxy_next_upstream 模塊定義的錯誤
4)、fail_timeout:max_fails 次失敗后,暫停的時間。
5)、backup:其它所有的非backup機器down或者忙的時候,請求backup機器。所以這臺機器壓力會最輕。
6)、max_conns:最大鏈接數,超過以后就不會發生請求過來。
通過以上配置完成了Laravel中的讀寫分離和Nginx的負載均衡,重點說明完整項目還需要配置MySQL的主從配置或者主主復制,實現讀寫分離后才能達到數據的一致性。
完
《 勵志分享?》
生活不可能一帆風順,歲月不可能一塵不染,人生不可能一舉成功。但我們相信,一切終將過去,一定會春暖花開。
1、Laravel5.6 + 阿里云OSS 完成圖文分離架構2、必須了解的PHP內置函數,開發效率提升N倍3、Laravel快速使用和配置Redis緩存,并使用Redis數據庫4、PHP實現微信拼手氣拆紅包算看完本文有收獲?點贊、分享是最大的支持
總結
以上是生活随笔為你收集整理的php laravel 默认cookie加密 读取怎么办_Laravel+Nginx轻松实现读写分离、负载均衡,网站并发能力提升N倍...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: union all怎么用在循环里_ai软
- 下一篇: python引入header_Pytho