曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Dubbo Gateway基于Java的Dubbo網(wǎng)關(guān)實現(xiàn)

Dubbo Gateway基于Java的Dubbo網(wǎng)關(guān)實現(xiàn)

2022-06-14 | zip | 0.19 MB | 次下載 | 2積分

資料介紹

授權(quán)協(xié)議 Apache
開發(fā)語言 Java
軟件類型 開源軟件
所屬分類 程序開發(fā)、 網(wǎng)絡(luò)工具包

軟件簡介

Dubbo Gateway是一個基于Java語言的Dubbo網(wǎng)關(guān)實現(xiàn)。基于Dubbo注冊中心的元數(shù)據(jù),通過將HTTP請求轉(zhuǎn)換為Dubbo協(xié)議,泛化調(diào)用的方式返回請求結(jié)果。它具有如下的特性:

  1. 使用簡單,開箱即用,非常適用于一些接口測試場景;
  2. 靈活可拓展。通過Interceptor的實現(xiàn),可非常方便實現(xiàn)熔斷、限流、路由、定制響應(yīng)、用戶授權(quán)等功能。系統(tǒng)也內(nèi)置了部分Interceptor實現(xiàn);
  3. 支持僅調(diào)用聲明為對外開放的Dubbo服務(wù),安全保證。(基于Feature:apache/dubbo#7660?);
  4. 文檔自動化生成。基于Javadoc標準的dubbo對外接口生成系統(tǒng),API寫好即可生成文檔,同時集成了阿里云OSS,全程僅需幾步參數(shù)配置,即可可視化預覽文檔。

Requirements

服務(wù)提供者Dubbo 版本:Dubbo 2.7.14+ 或 Dubbo 3.x

Java 版本:1.8+

Guides

以Springboot項目方式,啟動Dubbo Gateway網(wǎng)關(guān):

1、添加依賴

新建Springboot工程,添加Dubbo Gateway的核心依賴:

<dependency>
	<groupId>com.kalman03groupId>
	<artifactId>gateway-coreartifactId>
	<version>1.2.0version>
dependency>

當然,還需要添加Dubbo的注冊中心依賴,以Zookeeper為例:

<dependency>
	<groupId>org.apache.zookeepergroupId>
	<artifactId>zookeeperartifactId>
	<version>${zookeeper_version}version>
	<exclusions>
		<exclusion>
			<groupId>log4jgroupId>
			<artifactId>log4jartifactId>
		exclusion>
		<exclusion>
			<groupId>org.slf4jgroupId>
			<artifactId>slf4j-log4j12artifactId>
		exclusion>
	exclusions>
dependency>
<dependency>
	<groupId>org.apache.curatorgroupId>
	<artifactId>curator-frameworkartifactId>
	<version>${curator_version}version>
dependency>
<dependency>
	<groupId>org.apache.curatorgroupId>
	<artifactId>curator-recipesartifactId>
	<version>${curator_version}version>
dependency>

2、參數(shù)配置

gateway.netty.server.port=80
gateway.netty.server.host=127.0.0.1
gateway.netty.server.connect-timeout=3000
gateway.netty.business.thread-count=50
gateway.dubbo.registry.address=zookeeper://127.0.0.1:2181
gateway.dubbo.openservice=true

3、啟動服務(wù)

@SpringBootApplication
@EnableAutoConfiguration
public class DubboGatewayTest {

	public static void main(String[] args) {
		try {
			SpringApplication.run(DubboGatewayTest.class, args);
		} catch (Throwable e) {
			e.printStackTrace();
		}
	}

    //可選自定義攔截器
	@Component
	@Order(100)
	@InterceptorRule(routeRuleType = RouteRuleType.PATH, excludePatterns = { "/api/**" })
	class CustomInterceptor implements HandlerInterceptor {
		@Override
		public boolean preHandle(GatewayHttpRequest request, GatewayHttpResponse response) throws Exception {
			System.out.println("preHandle");
			return true;
		}
		@Override
		public void afterCompletion(GatewayHttpRequest request, GatewayHttpResponse response, Exception ex)
				throws Exception {
			System.out.println("afterCompletion");
		}
	}
}

4、訪問目標服務(wù)

系統(tǒng)內(nèi)置了PATH路由MIX路由,也同時支持自定義路由實現(xiàn)。下面演示如何通過不同的路由規(guī)則訪問對應(yīng)的服務(wù)。

  • PATH路由(推薦

    PATH路由是系統(tǒng)內(nèi)置默認的路由,也是系統(tǒng)推薦的路由規(guī)則,其擁有較多適用性(既可正常調(diào)用,也可以滿足一些第三方系統(tǒng)的調(diào)用要求,比如支付消息回調(diào)等),路由規(guī)則如下

    HTTP URL:

    http(s)://{domain}:{port}/{appName}/{interfaceName}/{method}/{group}/{version}
    

    HTTP Body?(payload or form-data):

    {
      "id": 23,
      "username": "testUser"
    }
    
  • MIX路由

    考慮到有些參數(shù)相對于固定不變,且暴露在URL中不盡友善,系統(tǒng)內(nèi)置了一種MIX的路由規(guī)則,將部分路由參數(shù)以Header的參數(shù)形式進行傳遞。

    HTTP URL:

    http(s)://{domain}:{port}/{interfaceName}/{method}
    

    HTTP Header:

    x-app-name={appName}
    x-group={group}
    x-version={version}
    x-route-rule=mix
    

    HTTP Body?(payload or form-data):

    {
      "id": 23,
      "username": "testUser"
    }
    
  • CUSTOM自定義路由

    CUSTOM路由專為一些對PATH路由MIX路由都不滿意的開發(fā)者準備,只需要繼承AbstractRouteHandlerInterceptor?類,即可輕松實現(xiàn)自定義的路由規(guī)則。

Param Transmission

用戶端通用參數(shù)(諸如請求UA/Referer/IP等)以及Token用戶信息等,需要傳遞到服務(wù)提供方。Dubbo Gateway與服務(wù)提供者之間內(nèi)置的參數(shù)傳遞走Dubbo的RpcContext。

Dubbo網(wǎng)關(guān)內(nèi)置了gatewayConsumerFiltergatewayProviderFilter,可作為Dubbo服務(wù)提供者的默認Filter實現(xiàn),通過該Filter可獲取用戶端請求的一些參數(shù)以及自定義攔截器封裝的參數(shù)。當然,開發(fā)者也可自行在服務(wù)提供方讀取RpcContext中的傳遞參數(shù)。

更多使用方式,參考:gateway-samples??gateway-samples-provider

Attention

Dubbo Gateway對Dubbo服務(wù)提供者提供的對外服務(wù)有一條要求:只能有一個服務(wù)入?yún)?,且為對象類型(非普通Java數(shù)據(jù)類型)

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費