1.DNS域名解析是先查找本地的host文件是否有配置域名解析荆烈,本地沒有就去運營商查找。
2.Nginx可以實現(xiàn)反向代理裸燎、負(fù)載均衡顾瞻、故障轉(zhuǎn)移、跨域德绿、tomcat限流荷荤、防止Doss攻擊、黑名單白名單等脆炎。
3服務(wù)器集群的作用:減輕單臺服務(wù)器訪問壓力梅猿、故障轉(zhuǎn)移。存在的問題:①分布式Session一致性的問題秒裕,解決方案:Spring-Session框架袱蚓,原理就是將Session的內(nèi)容緩存到Redis,所以可以直接采用tomcat替代Session②分布式Job冪等性的問題,XXL-JOB解決③分布式日志的采集問題几蜻,ELK+kafka解決④分布式全局的id的生產(chǎn)喇潘,雪花算法解決体斩。
4.網(wǎng)站跨域問題:微服務(wù)架構(gòu)項目中采用前后端分離,Vue部署的域名和端口可能和接口的域名或端口不一致造成的颖低⌒醭常跨域的問題屬于瀏覽器的安全策略,從瀏覽器中訪問的域名和端口只要和頁面中發(fā)送json請求忱屑,如果域名或端口一致的情況下可以成功訪問到請求蹬敲,但是不能夠獲取到結(jié)果。
5.如何解決網(wǎng)站跨域問題:①在相應(yīng)頭中設(shè)置允許跨域的莺戒,相應(yīng)配置response.setHeader("Access-Control-Allow-Origin","*")②使用HttpClient轉(zhuǎn)發(fā)伴嗡,效率低③使用jsonp處理,缺點就是只支持get請求从铲,不支持post請求瘪校,底層采用的腳本注入形式。④使用Spring boot注解形式名段,@CrossOrigin阱扬。
6.LVS作用是linux的虛擬VIP技術(shù),阿里云購買的linux云服務(wù)器默認(rèn)不支持虛擬VIP技術(shù)伸辟,使用lvs管理我們的NGINX集群麻惶。KeepAlived是個心跳腳本的檢測軟件,可以間隔發(fā)送心跳信夫,檢測服務(wù)器是否有宕機用踩,如果宕機會自動重啟腳本,重啟失敗會發(fā)送郵件告知運維忙迁。
7.動靜分離架構(gòu)模式有哪些方案脐彩?①基于NGINX實現(xiàn)動靜分離,很少使用因為不支持CDN②使用第三方靜態(tài)資源服務(wù)器oss對象云存儲姊扔、七牛云等惠奸。
8.高并發(fā)解決方案思路:核心思路是看項目是web還是移動app項目,如果是web項目恰梢,因為網(wǎng)頁中大多數(shù)是靜態(tài)資源占用整個服務(wù)器帶寬佛南,而我們編寫的接口響應(yīng)一般的情況下占用不了多大的服務(wù)的帶寬,所以要采用動靜分離的架構(gòu)模式:①前端優(yōu)化:將靜態(tài)資源存入到第三方的對象存儲服務(wù)器(對象存儲服務(wù)器還可以自帶cdn加速)②對我們靜態(tài)資源實現(xiàn)壓縮嵌言,最好建議使用.,min格式嗅回。后端優(yōu)化:①使用微服務(wù)網(wǎng)關(guān)或者是nginx對我們接口實現(xiàn)api的限流、服務(wù)保護摧茴、黑名單和白名單②使用redis緩存減輕我們服務(wù)器訪問的壓力绵载,Redis可以采用集群或者讀寫分離,提高吞吐量③使用多線程或者MQ異步處理我們代碼可以快速的響應(yīng)給客戶端④tomcat/jvm參數(shù)調(diào)優(yōu)⑤mysql集群實現(xiàn)分庫分表。