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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Dubbo+Zookeeper+SpringBoot

發布時間:2024/7/5 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Dubbo+Zookeeper+SpringBoot 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

步驟

      • 一、Provider提供服務
          • 1. 導入依賴
          • 2. 配置注冊中心地址、服務發現名、要掃描的包
          • 3. 在想要被注冊的服務上面 增加一個注解`@service`(注意:是服務注解非service層注解)
      • 二、消費者如何消費
          • 1. 導入依賴(和上面的一樣)
          • 2. 配置注冊中心地址、自己的服務名
          • 3. 從遠程注入服務 `@Reference`
      • 三、測試
      • 附:項目結構

前提:zookeeper服務已開啟!

一、Provider提供服務

1. 導入依賴

pom.xml 文件:

<!-- Dubbo --><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.7.8</version></dependency><!-- zookeeper 客戶端--><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId><version>0.1</version></dependency><!-- zookeeper 服務端--><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.6.2</version><!-- 排除slf4j,解決日志沖突 --><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion></exclusions></dependency><!-- zookeeper 服務端的依賴--><dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>2.10.0</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>2.10.0</version></dependency>
2. 配置注冊中心地址、服務發現名、要掃描的包

application.properties 文件:

# 服務端口號 server.port=8001 # 服務應用名字 dubbo.application.name=provider-server # 注冊中心地址 dubbo.registry.address=zookeeper://127.0.0.1:2181 # 哪些服務要被注冊 dubbo.scan.base-packages=com.ex.service
3. 在想要被注冊的服務上面 增加一個注解@service(注意:是服務注解非service層注解)
package com.ex.service;public interface TickertService {public String getTicket(); } package com.ex.service.impl;import com.ex.service.TickertService; import org.apache.dubbo.config.annotation.Service; import org.springframework.stereotype.Component;/*** zookeeper:服務注冊與發現*/ @Service // 可以被掃描到,在項目一啟動就自動注冊到注冊中心 @Component //使用了Dubbo后盡量不要用Service注解 public class TickerServiceImpl implements TickertService {@Overridepublic String getTicket() {return "a ticket";} }

二、消費者如何消費

1. 導入依賴(和上面的一樣)
2. 配置注冊中心地址、自己的服務名

application.properties 文件:

# 端口號 server.port=8002 # 消費者去哪里拿服務,需要暴露自己的名字 dubbo.application.name=consumer-server # 注冊中心的地址 dubbo.registry.address=zookeeper://192.168.199.170:2181
3. 從遠程注入服務 @Reference
package com.ex.service; /*** 在相同目錄位置建立和遠程服務上相同的服務接口*/ public interface TickertService {public String getTicket(); } package com.ex.service;public interface UserService {public void buyTicket(); } package com.ex.service.impl;import com.ex.service.TickertService; import com.ex.service.UserService; import org.apache.dubbo.config.annotation.Reference; import org.springframework.stereotype.Component;@Component public class UserServiceImpl implements UserService {//想要拿到provider-server提供的漂,要去注冊中心拿到服務@Reference // 引用:pom坐標:定義路徑相同的接口名private TickertService tickertService;@Overridepublic void buyTicket() {System.out.println("user buy "+tickertService.getTicket());} }

三、測試

  • 啟動服務者和消費者的Application。進入Duubo-admin 管理界面 http://localhost:7001/ ,可以看到提供者和消費者的情況。

  • 在消費者服務端進行測試。看是否可以調用服務端的方法。

  • package com.ex;import com.ex.service.UserService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest class ConsumerServerApplicationTests {@Autowiredprivate UserService userService;@Testvoid contextLoads() {userService.buyTicket();} } # 控制臺輸出: user buy a ticket

    附:項目結構

    搭建過程:

  • 創建一個空項目Empty Project。
  • 項目中創建兩個Model 分別是provider-server和cunsumer-server,Model就選擇Spring Initializer 并且加入Spring Web依賴就可以。
  • 總結

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

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