泪目!视频剪辑教程自学百度云资源
一,session共享
首先第一個要解決的就是sesison共享的問題,如下圖。
通常有兩種解決方案,第1種是配置nginx的負載集群策略為ip_hash,第2種是將session存儲到其它地方,一般推薦放到redis中。
第1種方案適合于臨時解決或者是為了兼容歷史項目,但是從應用服務器無狀態的角度考慮,推薦把用戶會話session放到redis,如下圖。
二,本地緩存
如果使用本地緩存,當從單體遷移到集群后,就會面臨緩存同步的問題,如下圖。
最佳實踐是上分布式緩存,既解決了緩存同步的問題,也釋放了應用服務器的內存資源,如下圖。
三,文件服務
應用服務器在上集群之前,文件通常會放在本地,或者單獨的文件服務器上,因為文件服務需要占用大量的硬盤空間,以上兩種方案都無法很好的解決硬盤擴容的問題,最佳實踐是放到云存儲上,比如阿里云的OSS,或者騰訊云的COS上,這樣可以做到按需擴容,如下圖。
四,分布式環境下線程同步問題
在單機環境下,使用lock就可以解決線程同步的問題,一旦上了集群之后,lock就不管用了,這時需要上分布式鎖,分布式鎖的解決方案也有很多,我這里推薦使用redis的setnx,需要注意的是,如果redis是集群部署的,需要考慮這種情形:假設我們在redis的主節點上添加了一把分布式鎖,不幸的是主節點掛掉了,而且主節點上的鎖還沒有同步到從節點上,如果此時有客戶端來請求獲得同一把鎖,那么它將順利地獲得鎖,之前那把鎖會被無情地忽視掉,這就是分布式鎖在Redis集群中遇到的麻煩。
結局:總結+分享
看完美團、字節、騰訊這三家的一二三面試問題,是不是感覺問的特別多,可能咱們真的又得開啟面試造火箭、工作擰螺絲的模式去準備下一次的面試了。
開篇有提及我可是足足背下了Java互聯網工程師面試1000題,多少還是有點用的呢,換湯不換藥,不管面試官怎么問你,抓住本質即可!能讀到此處的都是真愛,所以福利也為你準備,這份1000題免費送你!點擊這里免費領取
- Java互聯網工程師面試1000題
而且從上面三家來看,算法與數據結構是必備不可少的呀,因此我建議大家可以去刷刷這本左程云大佬著作的 《程序員代碼面試指南 IT名企算法與數據結構題目最優解》,里面近200道真實出現過的經典代碼面試題。
- 程序員代碼面試指南–IT名企算法與數據結構題目最優解
- 其余像設計模式,建議可以看看下面這4份PDF(已經整理)
- 更多的Java面試學習筆記如下,關于面試這一塊,我額外細分出Java基礎-中級-高級開發的面試+解析,以及調優筆記等等等。。。
以及調優筆記等等等。。。
[外鏈圖片轉存中…(img-EjrxHdA1-1625595661955)]
以上所提及的全部Java面試學習的PDF及筆記,如若皆是你所需要的,那么都可發送給你!
總結
以上是生活随笔為你收集整理的泪目!视频剪辑教程自学百度云资源的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hive数据文件备份
- 下一篇: 芯片IC附近为什么都放0.1uF的电容?