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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

dubbo最全的使用教程

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

?

dubbo是阿里一款高性能,輕量級的rpc框架,有兩大核心功能:遠程服務調用和服務治理。本文主要介紹dubbo的運用。

?

一,安裝注冊中心zookeeper

1,為什么需要注冊中心,不要能不能遠程服務調用

? ? ? ?答:可以采取服務dubbo服務直連方式(@Reference注解loadbalance屬性指定調用的服務的ip端口)也能在沒有注冊中心情況下進行遠程服務調用,但每個服務的調用需要到控制臺查看ip,不利于開發。

2,為什么采用zookeeper,而不是其他

由于zookeeper工業強度很強(呵呵,以后會寫一篇文章介紹),所以官方文檔推薦它作為注冊中心。

3,安裝教程(windows為例)

? ? ? 3.1??官網或者百度云提取碼:j5w2下載,然后解壓

? ? ? 3.2? 把conf下zoo_sample.cfg的文件名該為zoo.cfg(最好備份),進去內容指定dataDir的存放地址;還有種方法是修改bin目錄下的zkEnv.cmd,把啟動的配置文件指定為zoo_sample.cfg

? ? ?3.3 雙擊zkServer.cmd啟動,如果啟動失敗請看另一篇博文https://blog.csdn.net/qq_41274660/article/details/106986911

?

二,創建服務提供者消費者共有接口的maven項目

1,因為dubbo是面向接口的遠程服務調用,所以需要相應的接口供服務提供者和消費者使用

2,創建接口,代碼示例如下(方便復制粘貼)

package dubboImp;import test.UserAddress;import java.util.List;public interface UserService {List<UserAddress> getUserAddressList(String userId); }

三,創建服務提供者項目

1,創建一個springboot項目(都是和springboot整合示例),引入dubbo starter依賴和二中的項目依賴

<dependency><groupId>com.alibaba.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>0.2.0</version><!--springboot2.x.x 版本對應dubbo 0.2.x版本--></dependency>

2,配置配置文件

? ? springboot和dubbo整合有三種配置方式,這里使用最常見的配置方式,其他的請百度

server:port: 8081dubbo:application:name: boot-order-service-provider #應用名protocol: dubbo #協議registry:protocol: zookeeper #指定zookeeper為注冊中心address: 127.0.0.1:2181 #注冊中心地址 monitor:protocol: registryprovider:timeout: 3000

3,編寫需要暴露的服務和暴露服務

package com.fq.dubboprovider;import com.alibaba.dubbo.config.annotation.Service; import dubboImp.UserService; import org.springframework.stereotype.Component; import test.UserAddress;import java.util.Arrays; import java.util.List;@Service //這個注解暴露接口,注意是dubbo中的 public class UserServiceImpl implements UserService { @Overridepublic List<UserAddress> getUserAddressList(String userId) {UserAddress address1 = new UserAddress(1, "XXXXX", "1", "car","123456","Y");UserAddress address2 = new UserAddress(1, "YYYYYY", "2", "ea", "4562144", "Y");return Arrays.asList(address1,address2);} }

4,啟動類加@EnableDubbo,如果配置文件指定了dubbo.scan.base-package則不需要

?

四,創建服務消費者項目

? ?1,除了編寫消費者接口外其他步驟和三一樣

? ?2,編寫消費者接口

package com.fq.dubboconsumer;import com.alibaba.dubbo.config.annotation.Reference; import dubboImp.OrderService; import dubboImp.UserService; import org.springframework.stereotype.Service; import test.UserAddress;import java.util.List;@Service public class OrderServiceImpl implements OrderService {@Reference //引用遠程服務的注解private UserService userService;public List<UserAddress> initOrder(String userId) {List<UserAddress> userAddressList = userService.getUserAddressList(userId);return userAddressList;} }

到了這一步之后可以寫一個請求去測試遠程服務調用了

?

五,安裝dubbo控制臺

可以到官方github項目下載運行,為了方便這里提供已經打包好的jar包,提取碼:r3sr,下載下來,控制臺java -jar命令運行即可,通過http://localhost:7001/訪問,用戶名密碼都是root。在這里對負載均衡智能容錯進行管理,去探索吧

?

六,安裝及監控中心

官網github項目下載或者百度云下載壓縮包提取碼:4ied,壓縮包下載下來后解壓,進入/assembly.bin目錄雙擊start.bat啟動,

http://localhost:8080/訪問

?

轉載請注明出處https://blog.csdn.net/qq_41274660/article/details/107009838

總結

以上是生活随笔為你收集整理的dubbo最全的使用教程的全部內容,希望文章能夠幫你解決所遇到的問題。

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