Dubbo使用Zooker注册服务
一、安裝配置Zooker
1.下載Zooker
在apache mirros上下載Zooker :https://mirror.bit.edu.cn/apache/zookeeper/,下載后解壓到指定目錄
建議下載3.4.14版本,其他版本要下載后綴帶bin的壓縮包
2.安裝配置本地Zooker
解壓到指定目錄后,進入conf文件夾,將里面的zoo_example.cfg文件重命名為zoo.cfg
?
進入bin目錄,編輯zkServer.cmd文件,在zkServer.cmd最后行前加入pause,否則可能會看不到信息,接著雙擊打開即可運行本地Zookeeper注冊服務,最后出現2181端口(默認端口)即運行成功
?
?
?
?
二、IDEA中使用Dubbo進行遠程服務調用
1.項目模塊介紹
這里有兩個boot應用程序,分別用consumer和provider表示,provider向注冊中心負責注冊服務,它里面的服務是實現service接口中的方法,consumer負責消費,用于調用遠程服務,除此之外,兩者也可以分別實現自己應用中的服務,結構圖如下所示:
?
2.編寫外部服務接口
可以在demo下新建一個Module,命名為demo-service,專門負責寫供另外應用程序使用的服務接口
demo->new->Module->Maven->Next->命名,在src的main中創建接口方法DemoService
?
3.編寫并配置provider應用程序
1)新建provider的啟動項
在demo下新建一個Module,命名為demo-dubbo-provider,和前面一樣,這里在java下新建一個Boot的啟動項
2)zookeeper和dubbo配置
在resources下添加配置文件,在這里配置本地的zookeeper注冊中心地址還有端口等一些信息
# Spring boot application spring.application.name=boot-provider server.port=9001 logging.level.root=INFO management.security.enabled=false ? #Dubbo Qos Config0 dubbo.application.qos-enable=false # Base packages to scan Dubbo Component: @org.apache.dubbo.config.annotation.Service dubbo.scan.base-packages=com.vivo # Dubbo Application ## The default value of dubbo.application.name is ${spring.application.name} ## dubbo.application.name=${spring.application.name} # Dubbo Protocol dubbo.protocol.name=dubbo dubbo.protocol.port=-1 # Dubbo Registry dubbo.registry.address=zookeeper://127.0.0.1:21813)添加demo-service接口的實現類
使用dubbo的Service注解,對這個接口實現類進行服務注冊
4)打包成本地jar包
Maven->項目名->install,打包成本地jar包
4.編寫consumer消費者程序
1)編寫consumer啟動項
這里對model和web層進行分離,新建demo-web模塊,在這里配置啟動項,為consumer的入口
2)調用遠程服務方法
在demo-consumer-dao中創建相應的controller文件,需要將調用服務的pom.xml中導入Provider的service所在包,這里也需要將demo-service依賴添加到pom.xml中來,如下所示:
<dependency><groupId>com.***.internet</groupId><artifactId>demo-service</artifactId><version>1.0.0-SNAPSHOT</version> </dependency> ...之后再對應controller中使用@Reference注解,用于調用遠程服務方法,調用方式和其他本地服務一樣。
?
5.啟動項目,并測試結果
對兩個應用程序provider和consumer,先啟動provider應用,在接著啟動consumer,在瀏覽器中輸入本地地址,端口和相應的動作即可調用provider中的服務
?
總結
以上是生活随笔為你收集整理的Dubbo使用Zooker注册服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA中Git操作
- 下一篇: IDEA中Mybatis逆向工程使用方法