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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java培訓 Java就業培訓教程之Dubbo相關配置

Java就業培訓教程之Dubbo相關配置

更新時間:2020-05-29 14:33:46 來源:動力節點 瀏覽2392次

Dubbo是一個分布式服務框架,它運用了全Spring配置方式,今天我們就一起來看看Dubbo相關配置說明,內容具體包括包掃描、協議、啟動時檢查以及負載均衡。

1.包掃描

```xml
<dubbo:annotation package="com.itheima.service"/>
```

服務提供者和服務消費者都需要配置,表示包掃描,作用是掃描指定包(包括子包)下的類。如果不使用包掃描,也可以通過如下配置的方式來發布服務:

```xml
<bean id="helloService"class="com.itheima.service.impl.HelloServiceImpl"/>
<dubbo:service interface="com.itheima.api.HelloService"ref="helloService"/>
```

作為服務消費者,可以通過如下配置來引用服務:

```xml
<!--生成遠程服務代理,可以和本地bean一樣使用helloService-->
<dubbo:reference id="helloService"interface="com.itheima.api.HelloService"/>
```

上面這種方式發布和引用服務,一個配置項(<dubbo:service>、<dubbo:reference>)只能發布或者引用一個服務,如果有多個服務,這種方式就比較繁瑣了。推薦使用包掃描方式。

2.協議

```xml
<dubbo:protocol name="dubbo"port="20880"/>
```

一般在服務提供者一方配置,可以指定使用的協議名稱和端口號。其中Dubbo支持的協議有:dubbo、rmi、hessian、http、webservice、rest、redis等。推薦使用的是Dubbo協議。

Dubbo協議采用單一長連接和NIO異步通訊,適合于小數據量大并發的服務調用,以及服務消費者機器數遠大于服務提供者機器數的情況。不適合傳送大數據量的服務,比如傳文件,傳視頻等,除非請求量很低。也可以在同一個工程中配置多個協議,不同服務可以使用不同的協議,例如:

```xml
<!--多協議配置-->
<dubbo:protocol name="dubbo"port="20880"/>
<dubbo:protocol name="rmi"port="1099"/>
<!--使用dubbo協議暴露服務-->
<dubbo:service interface="com.itheima.api.HelloService"ref="helloService"protocol="dubbo"/>
<!--使用rmi協議暴露服務-->
<dubbo:service interface="com.itheima.api.DemoService"ref="demoService"protocol="rmi"/>
```

3.啟動時檢查

```xml
<dubbo:consumer check="false"/>
```

上面這個配置需要配置在服務消費者一方,如果不配置默認check值為true。Dubbo缺省會在啟動時檢查依賴的服務是否可用,不可用時會拋出異常,阻止Spring初始化完成,以便上線時,能及早發現問題。可以通過將check值改為false來關閉檢查。建議在開發階段將check值設置為false,在生產環境下改為true。

4.負載均衡

負載均衡:其實就是將請求分攤到多個操作單元上進行執行,從而共同完成工作任務。在集群負載均衡時,Dubbo提供了多種均衡策略(包括隨機、輪詢、最少活躍調用數、一致性Hash),缺省為random隨機調用。配置負載均衡策略,既可以在服務提供者一方配置,也可以在服務消費者一方配置,如下: 

`java
????@Controller
????@RequestMapping("/demo")
????public?class?HelloController?{
????????//在服務消費者一方配置負載均衡策略
????????@Reference(check?=?false,loadbalance?=?"random")
????????private?HelloService?helloService;
?
????????@RequestMapping("/hello")
????????@ResponseBody
????????public?String?getName(String?name){
????????????//遠程調用
????????????String?result?=?helloService.sayHello(name);
????????????System.out.println(result);
????????????return?result;
????????}
????}
```
?
```java
//在服務提供者一方配置負載均衡
@Service(loadbalance?=?"random")
public?class?HelloServiceImpl?implements?HelloService?{
????public?String?sayHello(String?name)?{
????????return?"hello?"?+?name;
????}
}

可以通過啟動多個服務提供者來觀察Dubbo負載均衡效果。

注意:因為我們是在一臺機器上啟動多個服務提供者,所以需要修改tomcat的端口號和Dubbo服務的端口號來防止端口沖突。在實際生產環境中,多個服務提供者是分別部署在不同的機器上,所以不存在端口沖突問題。

Java就業培訓教程之Dubbo相關配置

Java相關內容教程

Dubbo視頻教程:http://m.dabaquan.cn/javavideo/129.html

以上就是動力節點java培訓機構的小編針對“Java就業培訓教程之Dubbo相關配置”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲欧美日韩国产精品第不页 | 国产亚洲欧美一区二区 | 欧美久久网 | 国产乱在线观看视频 | 精品免费tv久久久久久久 | 久久这里只有精品66 | 黄色短视频在线播放 | 亚洲高清资源 | 久久这里只有精品首页 | 91亚洲精品福利在线播放 | 中文字幕第66页永久乱码 | 日一日操一操 | 无夜精品久久久久久 | 日韩欧美色综合 | 日韩视频欧美视频 | 国产尤物在线播放 | 中文欧美日韩 | 日本福利片| 国产成人久久一区二区三区 | 中文字幕精品亚洲无线码二区 | 国产精品欧美亚洲韩国日本久久 | 免费久草| 中文字幕在线观看日本 | 亚洲91av| 国产亚洲精品欧美一区 | 在线播放国产区 | 毛片视 | 97在线视频免费观看 | 日本一区二区免费视频 | 精品国产精品久久一区免费式 | 国自产拍在线视频天天更新 | 麻豆成人久久精品二区三 | 日韩欧美精品一区二区三区 | 欧美激情一区 | 97影院官网 | 日日欧美| 成人黄色片视频 | 男人天堂网在线视频 | 国产成人影院一区二区 | 国语精品91自产拍在线观看二区 | 毛片毛片毛片毛片毛片 |