【MySQL】java编程器宣传费湖南岚鸿驱动
一,session共享
首先第一個要解決的就是sesison共享的問題,如下圖。
通常有兩種解決方案,第1種是配置nginx的負載集群策略為ip_hash,第2種是將session存儲到其它地方,一般推薦放到redis中。
第1種方案適合于臨時解決或者是為了兼容歷史項目,但是從應用服務器無狀態的角度考慮,推薦把用戶會話session放到redis,如下圖。
二,本地緩存
如果使用本地緩存,當從單體遷移到集群后,就會面臨緩存同步的問題,如下圖。
最佳實踐是上分布式緩存,既解決了緩存同步的問題,也釋放了應用服務器的內存資源,如下圖。
三,文件服務
應用服務器在上集群之前,文件通常會放在本地,或者單獨的文件服務器上,因為文件服務需要占用大量的硬盤空間,以上兩種方案都無法很好的解決硬盤擴容的問題,最佳實踐是放到云存儲上,比如阿里云的OSS,或者騰訊云的COS上,這樣可以做到按需擴容,如下圖。
四,分布式環境下線程同步問題
在單機環境下,使用lock就可以解決線程同步的問題,一旦上了集群之后,lock就不管用了,這時需要上分布式鎖,分布式鎖的解決方案也有很多,我這里推薦使用redis的setnx,需要注意的是,如果redis是集群部署的,需要考慮這種情形:假設我們在redis的主節點上添加了一把分布式鎖,不幸的是主節點掛掉了,而且主節點上的鎖還沒有同步到從節點上,如果此時有客戶端來請求獲得同一把鎖,那么它將順利地獲得鎖,之前那把鎖會被無情地忽視掉,這就是分布式鎖在Redis集群中遇到的麻煩。
總結
談到面試,其實說白了就是刷題刷題刷題,天天作死的刷。。。。。
為了準備這個“金三銀四”的春招,狂刷一個月的題,狂補超多的漏洞知識,像這次美團面試問的算法、數據庫、Redis、設計模式等這些題目都是我刷到過的
并且我也將自己刷的題全部整理成了PDF或者Word文檔(含詳細答案解析),有需要的朋友可以戳這里即可免費領取
66個Java面試知識點
架構專題(MySQL,Java,Redis,線程,并發,設計模式,Nginx,Linux,框架,微服務等)+大廠面試題詳解(百度,阿里,騰訊,華為,迅雷,網易,中興,北京中軟等)
算法刷題(PDF)
…(img-NnlnFJbT-1625051420165)]
算法刷題(PDF)
總結
以上是生活随笔為你收集整理的【MySQL】java编程器宣传费湖南岚鸿驱动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浏览此博客者开年必时来运转,否极泰来
- 下一篇: 举个栗子~Tableau 技巧(209)