dubbo框架的使用方法。。。

2022-05-24 18:45:15 字數 3351 閱讀 5482

一、dubbo使用須知。

1.所有的service層必須要使用service註解(之前用的spring框架的,現在用dubbo框架所提供的@service註解)

//@service(timeout=單位是秒)

2.在配置dubbo埠號的時候

只是provider專案和consumer專案直接資料通訊的時候所必需的要遵循的埠號

也就是說必須要注意無論是provider還是consumer,所配置的dubbo埠號必須要保持一致

埠號隨意定製!!!

server.port=8081server.context-path=/zxf

spring.datasource.driver-class-name=com.mysql.jdbc.driver

spring.datasource.url=jdbc:mysql://

localhost:3306/qy200?usessl=false

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.type=com.alibaba.druid.pool.druiddatasource

mybatis.type-aliases-package=com.aaa.zxf.dubbo.model

#dubbo 的配置 dubbo的應用名。 在dubbo的專案 可以直接看出改專案是乙個什麼樣的專案

#所提供的功能進行命名

#協議 protocol 配置該專案遠端呼叫的時候所用的協議--dubbo tcp 和 upd..

dubbo.protocol.name=dubbo

#配置dubbo 所必需使用的埠號

# 注意!!! provider 和 consumer 所配置的埠號保持一致 號 隨意訂製。

dubbo.protocol.port=20881

#zookeeper的通訊位址 dubbo框架整合zookeeper

#provider 需要向zookeeper註冊服務,要讓provider知道 zookeeper是哪乙個!

#【注意!!!】 dubbo 和 provider 以及 consumer的zookeeper的配置中 所有的zookeeper集群 leader 和 follower都可以配

# 因為最終 無論是leader 還是follower 都可以配 (除非leader 宕機)

# zookeeper的埠號就是 2181 需要保持一致!!

dubbo.registry.address=zookeeper:

# provider 需要讓zookeeper知道 那乙個類需要 註冊到zookeeper中

#dubbo 包的掃瞄 改包以及所有的子類 都會註冊到zookeeper中

dubbo.scan.base-packages=com.aaa.zxf.dubbo.service.impl

#開啟我的 zookeeper

server.port=8084server.context-path=/zxf

#dubbo 的配置

#consumer 中 dubbo的配置和provider中只差了一行 不需要配置掃瞄包

#dubbo的協議名稱

dubbo.protocol.name=dubbo

#dubbo 的協議埠號 provider 和 consumer 需要保持一致!!!

dubbo.protocol.port=20881#註冊中心的位址 leader 和 follower的ip 都可以!!!

dubbo.registry.address=zookeeper://

192.168.132.133:2181

# thymeleaf 開啟不嚴謹的檢查方式 需要匯入jar包

spring.thymeleaf.mode=legacyhtml5

# springboot 使用 thymeleaf 關閉快取

spring.thymeleaf.cache=false

3.無論是在dubbo還是在provider以及consumer的zookeeper配置中

所有的zookeeper集群無論是leader還是follower都可以配

eg:zookeeper01是leader

dubbo-admin--把zookeeper的配置改為-->zookeeper01

zookeeper02是leader

dubbo-admin--把zookeeper的配置改為-->zookeeper01

因為最終無論配置是leader還是follower都會把請求轉交給leader(除非leader宕機)

//所有的zookeeper配置的埠號都應該是2181

因為dubbo中埠號就是2181

4.dubbo如何判定專案為服務生產者還是服務消費者?

5.無論是provider還是consumer,service包必須要保持一致

provider-->iuserservice:com.aaa.lee.dubbo.service

consumer-->iuserservice:com.aaa.lee.dubbo.service

並且兩個介面的名字也必須要保持一致!!!!

//介面中方法也必須要保持一致(返回值名稱,返回值型別,方法名,方法引數)

6.consumer專案中的controller需要呼叫service的時候,不能再使用@autowired註解進行注入service

因為整個consumer專案中只有service的介面並沒有實現類

//需要使用dubbo所提供的@reference

provider:

consumer:

8.無論是provider還是consumer專案都必須要把zookeeper的位址配置一致!!!

不要求必須配置leader--->follower會自動把請求轉交給leader

9.所有的實體類必須要實現序列化介面

因為實現了序列化介面的實體類都可以把實體類以流的形式進行傳送

provider會把user實體類轉換為二進位製流----->傳送給consumer---->consumer所接收到的並不是乙個user物件,而是乙個二進位製流

---->consumer必須要把整個二進位製流轉換為user物件才可以使用!

也就是說無論是consumer還是provider都必須要實現序列化介面

集合框架的使用方法

list與set都是介面collection的子介面,collection源 中有一些幫助實現基本的訪問操作的抽象方法,主要有add addall iterator remove size 在collection的子介面list set以及子類arraylist linkedlist vector ...

stylus css 框架使用方法

stylus是一款需要編譯的css語言,所以其本身檔案不能被html直接呼叫,需要要編譯為css檔案後再進行日常的載入。stylus是一款優秀的css編譯語言,需要node.js支援,第一步需要安裝node.js 問題 windows除錯時ctrl d無效果 ctrl c退出?怎樣直接在window...

zpf框架的business使用方法

2015年3月9日 10 58 42 controller 是接受資料分派任務的地方 model 接收controller來的資料,獲取並處理 資料庫中的資料,然後再返回給controller 的業務邏輯層 controller 分派任務就是呼叫業務邏輯層business model 呼叫寫法是 r...