大战熟女丰满人妻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://www.dabaquan.cn/javavideo/129.html

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

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: chinese国产在线视频 | 高清国产美女一级a毛片录 高清国产美女一级毛片 | 久久777国产线看是看精品 | 久久综合狠狠综合久久综合88 | 麻豆日韩 | 欧美日韩国产另类一区二区三区 | 99热在这里只有精品 | 99久久99这里只有免费费精品 | 国产1区二区 | 欧美午夜在线观看理论片 | 亚洲成色综合一区二区三区四区 | 思99re久久这里只有精品首页 | 国产成人精品一区二区三区 | 香蕉久久高清国产精品免费 | 国内精品久久久久久影院网站小说 | 日本二区在线观看 | 韩国精品欧美一区二区三区 | 国产a一级毛片午夜剧场14 | 在线观看亚洲免费视频 | 亚洲码和乱人伦中文一区 | 九九爱www高清免费人成 | 国产精品99久久免费观看 | 久久久夜夜夜 | 亚洲人妖女同在线播放 | 欧美一级午夜免费视频你懂的 | 久久久久99精品成人片三人毛片 | 99热这里只有精品第一页 | 2022国产成人综合精品 | 日韩在线视频网址 | 黄色一级网站 | 色综合久久精品中文字幕首页 | 免费人成激情视频在线观看冫 | 亚洲精品久荜中文字幕 | 精品国产福利在线观看一区 | 欧美久久综合 | 亚洲一区二区三区成人 | 欧美手机手机在线视频一区 | 香蕉视频18| 国产欧美一区二区三区精品 | 欧美区一区二区三 | 久久大香香蕉国产免费网vrr |