日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
高效開發(fā)Dubbo?用SpringBoot可得勁!

 不僅簡化了 Dubbo 基于 xml 配置的方式,也提高了日常開發(fā)效率,甚至提升了工作幸福感。

創(chuàng)新互聯(lián)服務項目包括王益網站建設、王益網站制作、王益網頁制作以及王益網絡營銷策劃等。多年來,我們專注于互聯(lián)網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網行業(yè)的解決方案,王益網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到王益省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

為了節(jié)省親愛的讀者您的時間,請根據以下2點提示來閱讀本文,以提高您的閱讀收獲效率哦。

  • 如果您只有簡單的 Java 基礎和 Maven 經驗,而不熟悉 Dubbo,本文檔將幫助您從零開始使用 Spring Boot 開發(fā) Dubbo 服務,并使用 EDAS 服務注冊中心實現(xiàn)服務注冊與發(fā)現(xiàn)。

  • 如果您熟悉 Dubbo,可以選擇性地閱讀相關章節(jié)。

為什么使用 Spring Boot 開發(fā) Dubbo 應用

Spring Boot 使用極簡的一些配置,就能快速搭建一個基于 Spring 的應用,提高的日常的開發(fā)效率。因此,如果您使用 Spring Boot 來開發(fā)基于 Dubbo 的應用,簡化了 Bubbo 基于 xml 配置的方式,提高了日常開發(fā)效率,提升了工作幸福感。

為什么使用 EDAS 服務注冊中心

EDAS 服務注冊中心實現(xiàn)了 Dubbo 所提供的 SPI 標準的 注冊中心擴展 ,能夠完整地支持 Dubbo 服務注冊、 路由規(guī)則 、 配置規(guī)則功能 。

EDAS 服務注冊中心能夠完全代替 ZooKeeper 和 Redis,作為您 Dubbo 服務的注冊中心。同時,與 ZooKeeper 和 Redis 相比,還具有以下優(yōu)勢:

  • EDAS 服務注冊中心為共享組件,節(jié)省了您運維、部署 ZooKeeper 等組件的機器成本。
  • EDAS 服務注冊中心在通信過程中增加了鑒權加密功能,為您的服務注冊鏈路進行了安全加固。
  • EDAS 服務注冊中心與 EDAS 其他組件緊密結合,為您提供一整套的微服務解決方案。

本地開發(fā)

準備工作

  • 下載、啟動及配置輕量級配置中心。

為了便于本地開發(fā),EDAS 提供了一個包含了 EDAS 服務注冊中心基本功能的輕量級配置中心?;谳p量級配置中心開發(fā)的應用無需修改任何代碼和配置就可以部署到云端的 EDAS 中。

請您參考 配置輕量級配置中心 進行下載、啟動及配置。推薦使用***版本。

  • 下載 Maven 并設置環(huán)境變量(本地已安裝的可略過)。

創(chuàng)建服務提供者

1. 創(chuàng)建一個 Spring Boot 工程,命名為 spring-boot-dubbo-provider

這里我們以 Spring Boot 2.0.6.RELEASE 為例,在 pom.xml 文件中加入如下內容。

 
 
 
  1.  
  2.         
  3.             
  4.                org.springframework.boot 
  5.                spring-boot-dependencies 
  6.                2.0.6.RELEASE 
  7.                pom 
  8.                import 
  9.             
  10.         
  11.     
  12.  
  13.     
  14.         
  15.            org.springframework.boot 
  16.            spring-boot-starter-web 
  17.         
  18.         
  19.            org.springframework.boot 
  20.            spring-boot-actuator 
  21.         
  22.         
  23.            com.alibaba.boot 
  24.            dubbo-spring-boot-starter 
  25.            0.2.0 
  26.         
  27.         
  28.            com.alibaba.edas 
  29.            edas-dubbo-extension 
  30.            1.0.0-SNAPSHOT 
  31.         
  32.  
  33.     

如果您需要選擇使用 Spring Boot 1.x 的版本,請使用 Spring Boot 1.5.x 版本,對應的 com.alibaba.boot:dubbo-spring-boot-starter 版本為 0.1.0。

說明:Spring Boot 1.x 版本的生命周期即將在 2019 年 8 月 結束,推薦使用新版本開發(fā)您的應用。

2.開發(fā) Dubbo 服務提供者

2.1 Dubbo 中服務都是以接口的形式提供的。因此需要開發(fā)一個接口,例如這里的 IHelloService ,接口里有若干個可被調用的方法,例如這里的 SayHello 方法。

 
 
 
  1. package com.alibaba.edas.boot; 
  2.      
  3. public interface IHelloService { 
  4.     String sayHello(String str); 

2.2 在服務提供方,需要實現(xiàn)所有以接口形式暴露的服務接口。例如這里實現(xiàn) IHelloService 接口的類為 HelloServiceImpl 。

 
 
 
  1. package com.alibaba.edas.boot; 
  2.  
  3. import com.alibaba.dubbo.config.annotation.Service; 
  4.  
  5. @Service 
  6. public class HelloServiceImpl implements IHelloService { 
  7.  
  8.     public String sayHello(String name) { 
  9.         return "Hello, " + name + " (from Dubbo with Spring Boot)"; 
  10.     } 
  11.  
  12.    ```           
  13.  
  14.  
  15. *說明:** 這里的 Service 注解式 Dubbo 提供的一個注解類,類的全名稱為:**com.alibaba.dubbo.config.annotation.Service** 。 

2.3 配置 Dubbo 服務。在 application.properties/application.yaml 配置文件中新增以下配置:

 
 
 
  1.     ```properties 
  2.     # Base packages to scan Dubbo Components (e.g @Service , @Reference) 
  3.     dubbo.scan.basePackages=com.alibaba.edas.boot 
  4.     dubbo.application.name=dubbo-provider-demo 
  5.     dubbo.registry.address=edas://127.0.0.1:8080 
  6.     ```  
  7.          
  8.  
  9. **說明:**  
  10.      
  11. * 以上三個配置沒有默認值,必須要給出具體的配置。 
  12. * dubbo.scan.basePackages 的值是開發(fā)的代碼中含有 com.alibaba.dubbo.config.annotation.Service 和  com.alibaba.dubbo.config.annotation.Reference 注解所在的包。多個包之間用逗號隔開。 
  13. * dubbo.registry.address 的值前綴必須是一個 **edas://** 開頭,后面的ip地址和端口指的是輕量版配置中心 

3. 開發(fā)并啟動 Spring Boot 入口類

  
 
 
  1. ```java 
  2. package com.alibaba.edas.boot; 
  3.  
  4. import org.springframework.boot.SpringApplication; 
  5. import org.springframework.boot.autoconfigure.SpringBootApplication; 
  6.  
  7. @SpringBootApplication 
  8. public class DubboProvider { 
  9.  
  10.      public static void main(String[] args) { 
  11.  
  12.          SpringApplication.run(DubboProvider.class, args); 
  13.      } 
  14.  

 

4.登錄輕量版配置中心控制臺 http://127.0.0.1:8080,在左側導航欄中單擊服務列表 ,查看提供者列表??梢钥吹椒仗峁┱呃镆呀洶?com.alibaba.edas.IHelloService,且可以查詢該服務的服務分組和提供者 IP。

創(chuàng)建服務消費者

1. 創(chuàng)建一個 Spring Boot 工程,命名為 spring-boot-dubbo-consumer。

這里我們以 Spring Boot 2.0.6.RELEASE 為例,在 pom.xml 文件中加入如下內容。

 
 
 
  1.  
  2.         
  3.             
  4.                org.springframework.boot 
  5.                spring-boot-dependencies 
  6.                2.0.6.RELEASE 
  7.                pom 
  8.                import 
  9.             
  10.         
  11.     
  12.  
  13.     
  14.         
  15.            org.springframework.boot 
  16.            spring-boot-starter-web 
  17.         
  18.         
  19.            org.springframework.boot 
  20.            spring-boot-actuator 
  21.         
  22.         
  23.            com.alibaba.boot 
  24.            dubbo-spring-boot-starter 
  25.            0.2.0 
  26.         
  27.         
  28.            com.alibaba.edas 
  29.            edas-dubbo-extension 
  30.            1.0.0-SNAPSHOT 
  31.         
  32.  
  33.     

如果您需要選擇使用 Spring Boot 1.x 的版本,請使用 Spring Boot 1.5.x 版本,對應的 com.alibaba.boot:dubbo-spring-boot-starter 版本為 0.1.0。

說明:Spring Boot 1.x 版本的生命周期即將在 2019 年 8 月 結束,推薦使用新版本開發(fā)您的應用。

2.開發(fā) Dubbo 消費者

2.1 在服務消費方,需要引入所有以接口形式暴露的服務接口。例如這里 IHelloService 接口。

 
 
 
  1. package com.alibaba.edas.boot; 
  2.  
  3.     public interface IHelloService { 
  4.         String sayHello(String str); 
  5.     } 
  6.     ```          

2.2 Dubbo 服務調用。例如需要在 Controller 中調用一次遠程 Dubbo 服務,開發(fā)的代碼如下所示:

  
 
 
  1.     ```java 
  2.     package com.alibaba.edas.boot; 
  3.     
  4.     import com.alibaba.dubbo.config.annotation.Reference; 
  5.     import org.springframework.web.bind.annotation.PathVariable; 
  6.     import org.springframework.web.bind.annotation.RequestMapping; 
  7.     import org.springframework.web.bind.annotation.RestController; 
  8.     
  9.     @RestController 
  10. public class DemoConsumerController { 
  11.  
  12.      @Reference 
  13.      private IHelloService demoService; 
  14.  
  15.      @RequestMapping("/sayHello/{name}") public String sayHello(@PathVariable String name) { return demoService.sayHello(name); 
  16.      } 

說明:這里的 Reference 注解是 com.alibaba.dubbo.config.annotation.Reference 。

2.3 配置 Dubbo 服務。在 application.properties/application.yaml 配置文件中新增以下配置:

 
 
 
  1.   dubbo.application.name=dubbo-consumer-demo 
  2.     dubbo.registry.address=edas://127.0.0.1:8080 
  3.     ```  
  4.          
  5. **說明:**  
  6.      
  7. * 以上兩個配置沒有默認值,必須要給出具體的配置。 
  8. * dubbo.registry.address 的值前綴必須是一個 **edas://** 開頭,后面的ip地址和端口指的是輕量版配置中心 

3.開發(fā)并啟動 Spring Boot 入口類

  
 
 
  1. ```java 
  2. package com.alibaba.edas.boot; 
  3.  
  4. import org.springframework.boot.SpringApplication; 
  5. import org.springframework.boot.autoconfigure.SpringBootApplication; 
  6.  
  7. @SpringBootApplication 
  8. public class DubboConsumer { 
  9.  
  10.      public static void main(String[] args) { 
  11.  
  12.          SpringApplication.run(DubboConsumer.class, args); 
  13.      } 
  14.  
  15.  
  16. 登錄 

4. 輕量版配置中心控制臺 http://127.0.0.1:8080,在左側導航欄中單擊 服務列表 ,再在服務列表頁面選擇 調用者列表 ,可以看到包含了 com.alibaba.edas.IHelloService,且可以查看該服務的服務分組和調用者 IP。

結果驗證

  • 本地結果驗證

curl http://localhost:17080/sayHello/EDAS

 
 
 
  1. Hello, EDAS (from Dubbo with Spring Boot) 
  • EDAS 部署結果驗證

curl http://localhost:8080/sayHello/EDAS

 
 
 
  1. Hello, EDAS (from Dubbo with Spring Boot) 

當前文章:高效開發(fā)Dubbo?用SpringBoot可得勁!
標題來源:http://www.5511xx.com/article/cdjogds.html