在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

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

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

資料介紹

授權(quán)協(xié)議 Apache
開(kāi)發(fā)語(yǔ)言 Java
操作系統(tǒng) 跨平臺(tái)
軟件類(lèi)型 開(kāi)源軟件
所屬分類(lèi) 程序開(kāi)發(fā)網(wǎng)絡(luò)工具包

軟件簡(jiǎn)介

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

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

Requirements

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

Java 版本:1.8+

Guides

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

1、添加依賴(lài)

新建Springboot工程,添加Dubbo Gateway的核心依賴(lài):

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

當(dāng)然,還需要添加Dubbo的注冊(cè)中心依賴(lài),以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、啟動(dòng)服務(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èn)目標(biāo)服務(wù)

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

  • PATH路由(推薦

    PATH路由是系統(tǒng)內(nèi)置默認(rèn)的路由,也是系統(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ù)相對(duì)于固定不變,且暴露在URL中不盡友善,系統(tǒng)內(nèi)置了一種MIX的路由規(guī)則,將部分路由參數(shù)以Header的參數(shù)形式進(jìn)行傳遞。

    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路由專(zhuān)為一些對(duì)PATH路由MIX路由都不滿意的開(kāi)發(fā)者準(zhǔn)備,只需要繼承AbstractRouteHandlerInterceptor?類(lèi),即可輕松實(shí)現(xiàn)自定義的路由規(guī)則。

Param Transmission

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

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

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

Attention

Dubbo Gateway對(duì)Dubbo服務(wù)提供者提供的對(duì)外服務(wù)有一條要求:只能有一個(gè)服務(wù)入?yún)ⅲ覟閷?duì)象類(lèi)型(非普通Java數(shù)據(jù)類(lèi)型)

?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

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

評(píng)論

请按住滑块,拖动到最右边
了解新功能

查看更多

广告

下載排行

本周

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

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
主站蜘蛛池模板: 亚洲美女高清一区二区三区 | 成人在线网站 | 天天怕夜夜怕狠狠怕 | 三级毛片免费 | 四虎影院网址大全 | 天天操精品 | 国产精品嫩草影院一二三区 | 曰曰摸天天摸人人看久久久 | 午夜啪啪免费视频 | 天堂在线观看免费视频 | 啪啪午夜视频 | 国产精品视频一区国模私拍 | 老子影院午夜精品欧美视频 | 亚洲一区免费看 | 国产拍拍视频 | 加勒比视频一区 | 四虎影院黄色片 | 中文字幕在线播放一区 | fenfencao在线观看免费视频 | 青草久草视频 | 手机在线观看国产精选免费 | 国产网站免费视频 | 女的扒开尿口让男人桶爽 | 国产一级特黄一级毛片 | 人人免费人人专区 | 免费黄色欧美 | 一本到卡二卡三卡福利 | 男人日女人的网站 | 天天躁狠狠躁夜夜躁 | 四虎国产精品永免费 | 韩国中文字幕在线观看 | 97就要鲁就要鲁夜夜爽 | 凹凸福利视频导航 | 神马午夜影视 | 一本到卡二卡三卡免费高 | 久久精品国产亚洲5555 | 精品久久久久久久免费加勒比 | 钻石午夜影院 | 久久全国免费久久青青小草 | jizz 大全欧美 | 射吧亚洲|