日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Dubbo操作

發布時間:2023/12/8 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Dubbo操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

admin控制臺安裝

1.控制臺下載地址https://github.com/apache/incubator-dubbo/releases

2.找到dubbo-admin

3.修改webapp/WEB-INF/dubbo.properties

dubbo.registry.address=zookeeper的集群地址

4.控制中心是用來做服務治理的,比如控制服務的權重、服務的路由、。。。

simple監控中心

1.下載dubbo-monitor-simple-2.5.3-assembly.tar.gz包

2.解壓后到解壓目錄下的dubbo-monitor-simple-2.5.3\conf中找到dubbo.properties文件,修改成zookeeper注冊中心地址

3.點擊bin目錄下的start.bat啟動,啟動成功后,通過http://localhost:8080來訪問監控中心。

Monitor也是一個dubbo服務,所以也會有端口和url

4.監控服務的調用次數、調用關系、響應事件

?

簡單實現的大概流程:

1.定義接口以及接口的實現類

2.配置好Dubbo配置文件后,通過Main方法啟動服務端,將服務暴露

服務端配置文件:

1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" 5 xsi:schemaLocation="http://www.springframework.org/schema/beans 6 http://www.springframework.org/schema/beans/spring-beans.xsd 7 http://code.alibabatech.com/schema/dubbo 8 http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> 9 10 <!--當前項目在整個分布式架構里面的唯一名稱,計算依賴關系的標簽--> 11 <dubbo:application name="order-provider" owner="provider"/> 12 13 <dubbo:monitor protocol="registry"/> 14 15 <!--dubbo這個服務所要暴露的服務地址所對應的注冊中心--><!-- N/A:代表沒有使用注冊中心 --> 16 <dubbo:registry protocol="zookeeper" address="47.107.121.215:2181"/> 17 18 <!--當前服務發布所依賴的協議;webserovice、Thrift、Hessain、http--> 19 <dubbo:protocol name="dubbo" port="20880"/> 20 21 <!--服務發布的配置,需要暴露的服務接口--> 22 <dubbo:service 23 interface="com.karat.cn.order_api.IOrderServices" 24 ref="orderService"/> 25 26 <!--接口的實現 Bean bean定義--> 27 <bean id="orderService" 28 class="com.karat.cn.order_provider.OrderServiceImpl"/> 29 30 </beans>

Main方法:

1 package com.karat.cn.order_provider; 2 import com.alibaba.dubbo.container.Main; 3 /** 4 * Hello world! 5 * 發布方法 6 */ 7 public class App 8 { 9 public static void main( String[] args ) 10 { 11 Main.main(args); 12 } 13 }

啟動成功后日志中內容如下:

1 2019-03-21 11:28:38,415 INFO [org.I0Itec.zkclient.ZkClient] - zookeeper state changed (SyncConnected) 2 2019-03-21 11:28:38,416 INFO [com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry] - [DUBBO] Register: dubbo://10.0.1.183:20880/com.karat.cn.order_api.IOrderServices?anyhost=true&application=order-provider&dubbo=2.5.3&interface=com.karat.cn.order_api.IOrderServices&methods=doOrder&owner=provider&pid=17524&side=provider&timestamp=1553138908571, dubbo version: 2.5.3, current host: 127.0.0.1 3 2019-03-21 11:28:38,600 INFO [com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry] - [DUBBO] Subscribe: provider://10.0.1.183:20880/com.karat.cn.order_api.IOrderServices?anyhost=true&application=order-provider&category=configurators&check=false&dubbo=2.5.3&interface=com.karat.cn.order_api.IOrderServices&methods=doOrder&owner=provider&pid=17524&side=provider&timestamp=1553138908571, dubbo version: 2.5.3, current host: 127.0.0.1 4 2019-03-21 11:28:38,850 INFO [com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry] - [DUBBO] Notify urls for subscribe url provider://10.0.1.183:20880/com.karat.cn.order_api.IOrderServices?anyhost=true&application=order-provider&category=configurators&check=false&dubbo=2.5.3&interface=com.karat.cn.order_api.IOrderServices&methods=doOrder&owner=provider&pid=17524&side=provider&timestamp=1553138908571, urls: [empty://10.0.1.183:20880/com.karat.cn.order_api.IOrderServices?anyhost=true&application=order-provider&category=configurators&check=false&dubbo=2.5.3&interface=com.karat.cn.order_api.IOrderServices&methods=doOrder&owner=provider&pid=17524&side=provider&timestamp=1553138908571], dubbo version: 2.5.3, current host: 127.0.0.1 5 2019-03-21 11:28:38,933 INFO [com.alibaba.dubbo.container.Main] - [DUBBO] Dubbo SpringContainer started!, dubbo version: 2.5.3, current host: 127.0.0.1 6 [2019-03-21 11:28:38] Dubbo service server started!

第二行的:dubbo://10.0.1.183:20880/com.karat.cn.order_api.IOrderServices? ?是后面需要用到的服務url地址,使用zookeeper也是讓zookeeper來管理這個東西

?

3.消費端通過Dubbo配置文件調用服務端服務

1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" 5 xsi:schemaLocation="http://www.springframework.org/schema/beans 6 http://www.springframework.org/schema/beans/spring-beans.xsd 7 http://code.alibabatech.com/schema/dubbo 8 http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> 9 <!--消費端不需要配置協議端口 --> 10 11 12 <!--當前項目在整個分布式架構里面的唯一名稱,計算依賴關系的標簽--> 13 <dubbo:application name="order-provider" owner="provider"/> 14 15 <!--dubbo這個服務所要暴露的服務地址所對應的注冊中心--><!-- N/A:代表沒有使用注冊中心 --> 16 <!-- 17 配置集群地址: <dubbo:registry address="zookeeper://192.168.11.129:2181?backup=192.168.11.137:2181,192.168.11.138:2181,192.168.11.139:2181"/> 18 --> 19 <dubbo:registry address="zookeeper://47.107.121.215:2181"/> 20 21 <!--生成一個遠程服務的調用代理--><!--引用一個服務 通過url關聯 --> 22 <dubbo:reference id="orderServices" 23 interface="com.karat.cn.order_api.IOrderServices"/> 24 <!-- 使用zookeeper注冊中心后不需要下面的url了,在zookeeper中能拿到url --> 25 <!-- url="dubbo://10.0.1.183:20880/com.karat.cn.order_api.IOrderServices" --> 26 </beans>

4.消費端測試

public static void main( String[] args ) throws IOException {ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext("order-consumer.xml");//用戶下單過程IOrderServices services=(IOrderServices)context.getBean("orderServices");DoOrderRequest request=new DoOrderRequest();request.setName("Hello world!");DoOrderResponse response=services.doOrder(request);System.out.println(response); }

消費端的pom中需要引入服務端項目打包成的jar包

1 <dependencies> 2 <dependency> 3 <groupId>junit</groupId> 4 <artifactId>junit</artifactId> 5 <version>3.8.1</version> 6 <scope>test</scope> 7 </dependency> 8 <dependency> 9 <groupId>com.karat.cn</groupId> 10 <artifactId>order_api</artifactId> 11 <version>0.0.1-SNAPSHOT</version> 12 <scope>C:\Users\devel\Desktop\aa.jar</scope> 13 </dependency> 14 15 <dependency> 16 <groupId>com.alibaba</groupId> 17 <artifactId>dubbo</artifactId> 18 <version>2.5.3</version> 19 </dependency> 20 <dependency> 21 <groupId>com.github.sgroschupf</groupId> 22 <artifactId>zkclient</artifactId> 23 <version>0.1</version> 24 </dependency> 25 </dependencies> View Code

?

invoker:cmd中Dubbo調用命令

轉載于:https://www.cnblogs.com/LJing21/p/10566781.html

總結

以上是生活随笔為你收集整理的Dubbo操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。