大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 職業指南 2023年IT企業攻略,Java分布式架構面試題

2023年IT企業攻略,Java分布式架構面試題

更新時間:2023-02-15 16:22:18 來源:動力節點 瀏覽2807次

1.Dubbo 有哪些特性?

答:Dubbo 特性如下:

面向接口代理的高性能 RPC 調用:提供高性能的基于代理的遠程調用能力,服務以接口為粒度,為開發者屏蔽遠程調用底層細節;

智能負載均衡:內置多種負載均衡策略,智能感知下游節點健康狀況,顯著減少調用延遲,提高系統吞吐量;

服務自動注冊與發現:支持多種注冊中心服務,服務實例上下線實時感知;

高度可擴展能力:遵循微內核+插件的設計原則,所有核心能力如 Protocol、Transport、Serialization 被設計為擴展點,平等對待內置實現和第三方實現;

運行期流量調度:內置條件、腳本等路由策略,通過配置不同的路由規則,輕松實現灰度發布,同機房優先等功能;

可視化的服務治理與運維:提供豐富服務治理、運維工具:隨時查詢服務元數據、服務健康狀態及調用統計,實時下發路由策略、調整配置參數。

2.Dubbo 有哪些核心組件?

答:Dubbo 核心組件如下:

Provider:服務提供方

Consumer:服務消費方

Registry:服務注冊與發現的注冊中心

Monitor:主要用來統計服務的調用次數和調用時間

Container:服務的運行容器

3.Dubbo 有哪些負載均衡策略?

答:Dubbo 負責均衡策略如下:

隨機負載均衡(Random LoadBalance):按權重設置隨機概率,在一個截面上碰撞的概率高,但調用量越大分布越均勻,而且按概率使用權重后也比較均勻,有利于動態調整提供者權重;

輪詢負載均衡(RoundRobin LoadBalance):按公約后的權重設置輪詢比率,存在慢的提供者累積請求的問題,比如:第二臺機器很慢,但沒掛,當請求調到第二臺時就卡在那,久而久之,所有請求都卡在調到第二臺上;

最少活躍調用數負載均衡(LeastActive LoadBalance):使用最少活躍調用數,活躍數指調用前后計數差;

哈希負載均衡(ConsistentHash LoadBalance):使用哈希值轉發,相同參數的請求總是發到同一提供者。

負載均衡配置如下 :

服務端服務級別

<dubbo:service interface="xxx" loadbalance="roundrobin" />

客戶端服務級別

<dubbo:reference interface="xxx" loadbalance="roundrobin" />

服務端方法級別

<dubbo:service interface="xxx">
   <dubbo:method name="xxx" loadbalance="roundrobin"/>
</dubbo:service>

客戶端方法級別

<dubbo:reference interface="xxx">
   <dubbo:method name="xxx" loadbalance="roundrobin"/>
</dubbo:reference>

4.Dubbo 不支持以下哪種協議?

A:dubbo://

B:rmi://

C:redis://

D:restful://

答:D

題目解析:restful 一直編程規范,并不是一種傳輸協議,也不被 Dubbo 支持。

5.Dubbo 默認使用什么注冊中心,還有別的選擇嗎?

答:推薦使用 ZooKeeper 作為注冊中心,還有 Nacos、Redis、Simple 注冊中心(普通的 Dubbo 服務)。

6.Dubbo 支持多注冊中心嗎?

答:Dubbo 支持同一服務向多注冊中心同時注冊,或者不同服務分別注冊到不同的注冊中心上去,甚至可以同時引用注冊在不同注冊中心上的同名服務。

多注冊中心注冊:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
    <dubbo:application name="world"  />
    <!-- 多注冊中心配置 -->
    <dubbo:registry id="hangzhouRegistry" address="10.20.141.150:9090" />
    <dubbo:registry id="qingdaoRegistry" address="10.20.141.151:9010" default="false" />
    <!-- 向多個注冊中心注冊 -->
    <dubbo:service interface="com.alibaba.hello.api.HelloService" version="1.0.0" ref="helloService" registry="hangzhouRegistry,qingdaoRegistry" />
</beans>

7.Dubbo 支持的連接方式有哪些?

答:Dubbo 支持的主要連接方式有:組播、直連和 ZooKeeper 等注冊中心。

① 組播方式 ,不需要啟動任何中心節點,只要廣播地址一樣,就可以互相發現。

java分布式架構面試題

 

  1. 提供方啟動時廣播自己的地址
  2. 消費方啟動時廣播訂閱請求
  3. 提供方收到訂閱請求時,單播自己的地址給訂閱者,如果設置了 unicast=false,則廣播給訂閱者
  4. 消費方收到提供方地址時,連接該地址進行 RPC 調用

組播受網絡結構限制,只適合小規模應用或開發階段使用。組播地址段:224.0.0.0 ~ 239.255.255.255

配置

<dubbo:registry address="multicast://224.5.6.7:1234" />

<dubbo:registry protocol="multicast" address="224.5.6.7:1234" />

為了減少廣播量,Dubbo 缺省使用單播發送提供者地址信息給消費者,如果一個機器上同時啟了多個消費者進程,消費者需聲明 unicast=false,否則只會有一個消費者能收到消息;當服務者和消費者運行在同一臺機器上,消費者同樣需要聲明 unicast=false,否則消費者無法收到消息,導致 No provider available for the service 異常:

<dubbo:registry address="multicast://224.5.6.7:1234?unicast=false" />

<dubbo:registry protocol="multicast" address="224.5.6.7:1234">
    <dubbo:parameter key="unicast" value="false" />
</dubbo:registry>

② 直連方式 ,注冊中心本身就是一個普通的 Dubbo 服務,可以減少第三方依賴,使整體通訊方式一致。

<dubbo:registry protocol="zookeeper" address="N/A"  file="./.dubbo-platform"/>

將 Simple 注冊中心暴露成 Dubbo 服務:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
    <!-- 當前應用信息配置 -->
    <dubbo:application name="simple-registry" />
    <!-- 暴露服務協議配置 -->
    <dubbo:protocol port="9090" />
    <!-- 暴露服務配置 -->
    <dubbo:service interface="org.apache.dubbo.registry.RegistryService" ref="registryService" registry="N/A" ondisconnect="disconnect" callbacks="1000">
        <dubbo:method name="subscribe"><dubbo:argument index="1" callback="true" /></dubbo:method>
        <dubbo:method name="unsubscribe"><dubbo:argument index="1" callback="false" /></dubbo:method>
    </dubbo:service>
    <!-- 簡單注冊中心實現,可自行擴展實現集群和狀態同步 -->
    <bean id="registryService" class="org.apache.dubbo.registry.simple.SimpleRegistryService" />
</beans>

引用 Simple Registry 服務:

<dubbo:registry address="127.0.0.1:9090" />

或者:

<dubbo:service interface="org.apache.dubbo.registry.RegistryService" group="simple" version="1.0.0" ... >

或者:

<dubbo:registry address="127.0.0.1:9090" group="simple" version="1.0.0" />

適用性說明:此 SimpleRegistryService 只是簡單實現,不支持集群,可作為自定義注冊中心的參考,但不適合直接用于生產環境。

③ ZooKeeper 注冊中心 ,Zookeeper 是 Apacahe Hadoop 的子項目,是一個樹型的目錄服務,支持變更推送,適合作為 Dubbo 服務的注冊中心,工業強度較高,可用于生產環境,并推薦使用。

以上就是“2023年IT企業攻略,Java分布式架構面試題”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節點Java官網。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日韩欧美毛片免费看播放 | 爱爱免费| 欧美亚洲高清日韩成人 | 亚洲一区二区三区日本久久九 | 国内精品久久久久尤物 | 国产精品亚洲综合一区 | 伊人影院久久 | 在线国产中文字幕 | 日日操天天操夜夜操 | 国产3344永久在线观看视频 | 精品亚洲欧美高清不卡高清 | 青青热久久国产久精品 | 国产永久免费高清动作片www | 全部免费特黄特色大片视频 | 国产免费观看a大片的网站 国产免费精彩视频 | 美美女高清毛片视频黄的一免费 | 国产一区二区不卡免费观在线 | 日本大黄视频 | 99视频在线观看视频一区 | 性欧美一级毛片在线播放 | 久久精品这里热有精品 | 成人亚洲视频 | www.国产视频 | 国产精品青草久久久久婷婷 | 中文字幕国产日韩 | 91视频观看免费 | 亚洲在线h| 精品久久久久久中文字幕2017 | 日韩av片免费播放 | 很很操很很日 | 四虎影视成人永久在线观看 | 欧美在线视频网站 | 精品国产影院 | 日韩久久综合 | 亚洲一区二区三区在线网站 | 成人淫片 | 久久久不卡 | 亚洲欧美二区三区久本道 | 一本久久a久久精品亚洲 | 成人在线毛片 | 欧美激情精品久久久久久大尺度 |