分布式系统的面试题1
?
我之前有一些同學,之前呢主要是做傳統行業,外包項目,互聯網公司,一直是那種小的公司,技術一直都搞的比較簡單。共同的一個問題,就是都沒怎么搞過分布式系統,現在互聯網公司,一般都是做分布式的系統,大家都不是做底層的分布式系統,分布式存儲系統,hadoop hdfs,分布式計算系統,hadoop mapreduce,spark,分布式流式計算系統,storm。
?
分布式業務系統,把原來用java開發的一個大塊系統,給拆分成多個子系統,多個子系統之間互相調用,形成一個大系統的整體。假設原來你做了一個OA系統,里面包含了權限模塊、員工模塊、請假模塊、財務模塊,一個工程,里面包含了一堆模塊,模塊與模塊之間會互相去調用,1臺機器部署。
?
現在如果你把他這個系統給拆開,權限系統,員工系統,請假系統,財務系統,4個系統,4個工程,分別在4臺機器上部署
?
一個請求過來,完成這個請求,這個員工系統,調用權限系統,調用請假系統,調用財務系統,4個系統分別完成了一部分的事情,最后4個系統都干完了以后,才認為是這個請求已經完成了。
?
?
到底什么是分布式系統?
?
1.1 為什么要進行系統拆分?
(1)為什么要進行系統拆分?如何進行系統拆分?拆分后不用dubbo可以嗎?dubbo和thrift有什么區別呢?
1.2 分布式服務框架
(1)說一下的dubbo的工作原理?注冊中心掛了可以繼續通信嗎?
?
(2)dubbo支持哪些序列化協議?說一下hessian的數據結構?PB知道嗎?為什么PB的效率是最高的?
?
(3)dubbo負載均衡策略和高可用策略都有哪些?動態代理策略呢?
?
(4)dubbo的spi思想是什么?
?
(5)如何基于dubbo進行服務治理、服務降級、失敗重試以及超時重試?
?
(6)分布式服務接口的冪等性如何設計(比如不能重復扣款)?
?
(7)分布式服務接口請求的順序性如何保證?
?
(8)如何自己設計一個類似dubbo的rpc框架?
?
但是這兩年開始興起和流行了spring cloud,但是我們這里就不講了,spring cloud剛開始流行,還沒有普及,目前普及的是dubbo,出去面試,大部分面試官都是問你dubbo的一些問題
1.3 分布式鎖
(1)使用redis如何設計分布式鎖?使用zk來設計分布式鎖可以嗎?這兩種分布式鎖的實現方式哪種效率比較高?
1.4 分布式事務
(1)分布式事務了解嗎?你們如何解決分布式事務問題的?TCC如果出現網絡連不通怎么辦?XA的一致性如何保證?
1.5 分布式會話
(1)集群部署時的分布式session如何實現?
轉載于:https://www.cnblogs.com/daiwei1981/p/9412943.html
總結
以上是生活随笔為你收集整理的分布式系统的面试题1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小游戏踩坑记录(二)
- 下一篇: UIActivityViewContro