問:dubbo通訊協議問:dubbo的註冊中心
答:1)multicast 註冊中心
2)zookeeper 註冊中心
3)redis 註冊中心
4)****** 註冊中心
問:dubbo的集群容錯
答:1)failover cluster
失敗自動切換,當出現失敗,重試其它伺服器
通常用於讀操作,但重試會帶來更長延遲
可通過retries="2"來設定重試次數(不含第一次)
2)failfast cluster
快速失敗,只發起一次呼叫,失敗立即報錯。
通常用於非冪等性的寫操作,比如新增記錄。
3)failsafe cluster
失敗安全,出現異常時,直接忽略,通常用於寫入審計日誌等操作
4)failback cluster
失敗自動恢復,後台記錄失敗請求,定時重發,通常用於訊息通知操作
5)forking cluster
並行呼叫多個伺服器,只要乙個成功即返回
通常用於實時性要求較高的讀操作
但需要浪費更多服務資源
可通過 forks=「2」 來設定最大並行數。
6)broadcast cluster
廣播呼叫所有提供者,逐個呼叫,任意一台報錯則報錯
通常用於通知所有提供者更新快取或日誌等本地資源資訊
問:dubbo中zookeeper做註冊中心,如果註冊中心集群都掛掉,發布者和訂閱者之間還能通訊麼問:dubbo連線註冊中心和直連的區別
答:在開發及測試環境下,經常需要繞過註冊中心,只測試指定服務提供者,這時候可能需要點對點直連,點對點直聯方式,將以服務介面為單位,
忽略註冊中心的提供者列表,服務註冊中心動態的註冊和發現服務。
問:dubbo在安全機制方面是如何解決的
答:dubbo通過token令牌防止使用者繞過註冊中心直連,然後在註冊中心上管理授權,dubbo還提供服務黑白名單,來控**務所允許的呼叫方。
問:dubbo集群中的負載均衡策略
答:random loadbalance
隨機,按權重設定隨機概率,在乙個截面上碰撞的概率高,但呼叫量越大分布越均勻
roundrobin loadbalance
輪循,按公約後的權重設定輪循比率
存在慢的提供者累積請求問題
比如:第二台機器很慢
但沒掛,當請求調到第二台時就卡在那
久而久之,所有請求都卡在調到第二台上
leastactive loadbalance
最少活躍呼叫數,相同活躍數的隨機,活躍數指呼叫前後計數差
使慢的提供者收到更少請求,因為越慢的提供者的呼叫前後計數差會越大。
consistenthash loadbalance
一致性hash,相同引數的請求總是發到同一提供者
當某一台提供者掛時,原本發往該提供者的請求,基於虛擬節點
平攤到其它提供者,不會引起劇烈變動
Java面試題分享 servlet
問 servlet的生命週期 答 當伺服器啟動的時候生命週期開始,然後通過init 方法初始化servlet,再根據不同請求呼叫doget或dopost方法,最後再通過destroy 方法進行銷毀。問 get和post的區別問 如何處理servlet的執行緒不安全問題 答 最簡單的就是不使用不去使用...
Java面試題分享 Mybatis
問 在mybatis中,有兩種佔位符,區別是什麼 答 解析傳遞進來的引數資料,katex parse error expected eof got at position 21 進來的引數原樣拼接在sql中,是預編譯處理,是字串替換,使用 可以有效的防止sql注入,提高系統安全性。問 當實體類中的屬...
Dubbo面試題總結
dubbo的執行流程 dubbo的安全性如何得到保障 a.在有註冊中心的情況下,可以通過dubbbo admin中的路由規則,來指定固定ip的消費方來訪問 b.在直連的情況下,通過在服務的提供方中設定密碼 令牌 token,消費方需要在消費時也輸入這 個密碼,才能夠正確使用。dubbo新增服務ip白...