大战熟女丰满人妻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官網。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 天天射综合网站 | 亚洲欧美精品日韩欧美 | 久久er国产精品免费观看1 | 日本福利片国产午夜久久 | 男人在线网站 | 亚州毛色毛片免费观看 | 欧美在线视频免费看 | 久久大香香蕉国产免费网站 | 久久a热6| 亚洲激情在线 | 国产精选91热在线观看 | 狠狠色噜噜狠狠色综合久 | 97国产在线视频 | 欧美国产成人一区二区三区 | www.亚洲| 女性一级全黄生活片 | 亚洲精品一区二区三区中文字幕 | 福利视频欧美一区二区三区 | 久久九色综合九色99伊人 | 最近免费中文字幕大全免费版视频 | 亚洲国产精品欧美日韩一区二区 | 久久精品网 | 97成人免费视频 | 四虎永久影院 | 亚洲欧美日韩在线一区 | 波多野结衣国产一区二区三区 | 在线日韩亚洲 | 亚洲欧洲一区二区 | 日日碰狠狠添天天爽爽爽 | 天天久久综合网站 | 加勒比精品久久一区二区三区 | 兽王高清完整在线观看 | 中文字幕日本在线 | 久久精品99毛片免费 | 久久另类 | 久久精品免费视频观看 | 色国产视频 | 超清中文乱码字幕在线观看 | 999毛片免费观看 | 国产免费一区二区在线看 | 狠狠干艹|