Dubbo實現遠端呼叫介面
阿新 • • 發佈:2019-02-02
1. Dubbo框架的簡單格式如下如所示:
1)提供了一個api包,用於標出provider提供的所有介面名稱;
2)提供一個provider(生產者)包,用於實現所有的介面,並可以註冊到zookeeper上,統一管理;
3)提供一個consumer(消費者)包,用於呼叫介面,為了便於管理,消費者開啟時,也需要註冊上zookeeper上,具體註冊方式如下:
2. 註冊到zookeeper上的配置
1)生產者:主要包括介面實現類、啟動方法類、配置檔案。
下面是包結構:
配置檔案中主要包括dubbo的註冊中心、埠號、以及定義實現的介面描述。
啟動類中,需要讀取配置檔案資訊,然後啟動:
2)消費者:主要包括啟動類、配置檔案。
包結構如下:
配置檔案內容除了跟生產者一樣的以外,若是呼叫遠端介面,可以通過dubbo:reference進行引入,前提是被應用的介面類已被引入(具體操作後面再論);
啟動類中可通過getBean方式,注入介面類,然後呼叫其方法:
先啟動生產者,然後啟動消費者,消費者輸出如下:
可以看到前兩條是應用的本地介面實現方法,後一條則是呼叫的遠端介面實現。
3、module製成jar包匯入導庫
1)若module中有依賴其他module,則需要先安裝其他module,命令為mvn install package,或者將所有的都打成jar包,命令為mvn clean package;
2)定位到對應module的target下,可以看到打好的jar包,然後如下命令,將jar打成maven本地倉庫jar。自定義groupId,artifactId和version,在pom檔案中引用時,要保持一致。
mvn install:install-file -Dfile=E:\idea_workplace\demo\dubbo\incubator-dubbo-dubbo-2.6.0\dubbo-demo\dubbo-demo-provider\target\dubbo-demo-provider-2.6.0.jar -DgroupId=com.hikvision.energy -DartifactId=dubbo-demo-provider-Dversion=1.0-SNAPSHOT -Dpackaging=jar。