小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

java面試題 --- Spring③

 貪挽懶月 2022-06-20 發(fā)布于廣東

1. 什么是 SpringCloud Alibaba?

  • 阿里巴巴推出的一套微服務(wù)解決方案,主要提供了 nacos,sentinel 和 seata。

2. nacos 有什么作用?

  • nacos 可以用來做注冊(cè)中心和配置中心。它需要我們下載安裝 nacos server,啟動(dòng)后訪問 ip 加上 8848/nacos 即可訪問其圖形界面。支持 CPA 理論中的 AP 和 CP,可以自行選擇。在項(xiàng)目中,引入 nacos 相關(guān)依賴然后進(jìn)行相關(guān)配置就可以使用了。

3. 怎么保證 nacos 的高可用?

  • nacos 做集群,nacos 的集群架構(gòu)就是提供一個(gè)統(tǒng)一對(duì)外的虛擬 ip,然后這個(gè) ip 再將請(qǐng)求分發(fā)到各個(gè) nacos 節(jié)點(diǎn)上。我們一般用 nginx 來做 nacos 的集群,首先對(duì) nacos 進(jìn)行配置,拷貝 nacos 的 cluster.conf.example 文件,改名為 cluster.conf,然后在此文件中配置各個(gè) nacos 節(jié)點(diǎn)的 ip 和對(duì)應(yīng)端口;接著修改 nacos 的 startup.sh,使其能指定端口啟動(dòng);最后修改 nginx 的 conf 文件,對(duì)流量進(jìn)行分發(fā),比如對(duì)外提供的是 80 端口,然后將 80 端口的流量分發(fā)到剛才配置的那幾臺(tái) nacos 中。

4. nacos 中寫的配置更新了,項(xiàng)目中要怎么獲取到最新的配置?

  • 獲取配置的類加上 @RefreshScope 注解,就可以自動(dòng)刷新了。

5. 如何保證 nacos 中配置的可靠性?

  • 進(jìn)行持久化,在 nacos 的 application.properties 文件中配置數(shù)據(jù)源,然后在 MySQL 中新建 nacos_config 數(shù)據(jù)庫,在數(shù)據(jù)庫中執(zhí)行 nacos 提供的腳本,重啟 nacos 后,nacos 中新增的配置就會(huì)出現(xiàn)在 config_info 表中。

6. sentinel 用來做什么?

  • 服務(wù)熔斷降級(jí),配置限流規(guī)則。它可以和 nacos 一起使用,把規(guī)則都配置進(jìn) nacos,只要 nacos 做了持久化,就相當(dāng)于 sentinel 也做了持久化。

7. 說一說分布式事務(wù)的實(shí)現(xiàn)方案。

  • 我們用的是 seata,下載seata,然后注冊(cè)進(jìn) nacos,用 MySQL 持久化,在項(xiàng)目中引入相關(guān)依賴,用 seata 對(duì)數(shù)據(jù)源進(jìn)行代理,在需要加分布式事務(wù)的方法或類加上 @Global Transaction 注解即可。

8. 對(duì) seata 的原理了解嗎?

  • seata 的核心就是三個(gè)組件加一個(gè) ID。一個(gè) ID 是指全局事務(wù)的 ID,三個(gè)組件是事務(wù)管理者,就是加了全局事務(wù)注解的方法;事務(wù)協(xié)調(diào)者,就是安裝的 seata 組件;資源管理器,就是數(shù)據(jù)庫。加了全局事務(wù)注解的方法向 seata 申請(qǐng)開啟一個(gè)全局事務(wù),seata 就會(huì)返回一個(gè)全局事務(wù) ID在微服務(wù)調(diào)用鏈路中傳播;數(shù)據(jù)庫向 seata 注冊(cè)分支事務(wù),將其納入到全局事務(wù) ID 的管轄中;加了注解的方法發(fā)起對(duì)全局事務(wù)的提交或者回滾,然后 seata 再告訴數(shù)據(jù)庫對(duì)事務(wù)進(jìn)行提交或者回滾。

9. seata 的 AT 模式如何做到對(duì)業(yè)務(wù)無侵入的?

  • 使用了兩階段提交協(xié)議。首先 seata 會(huì)攔截業(yè)務(wù) SQL,將更新前的數(shù)據(jù)保存為 before image,然后執(zhí)行 SQL 更新數(shù)據(jù),再將更新后的數(shù)據(jù)保存為 after image,同時(shí)會(huì)生成行鎖;如果順利,二階段就提交事務(wù),刪除 before image 和 after image 以及行鎖;如果二階段要回滾,首先會(huì)比較當(dāng)前數(shù)據(jù)和 after image 是否一致,如果一致,將其還原成 before image,否則就是異常情況,人工處理。

掃描二維碼

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多