摘要:一前言框架對于開發(fā)來說并不陌生,通常新增一個接口,我們可以直接用測試。但是工作中有時遇到一些接口的實現(xiàn)會獲取上下文中的信息,如果需要測試的話就只能另外編寫代碼設(shè)置上下文,調(diào)用接口實現(xiàn),相對來說會比較麻煩。
一、前言
dubbo框架對于java開發(fā)來說并不陌生,通常新增一個dubbo接口,我們可以直接用telnet測試。但是工作中有時遇到一些dubbo接口的實現(xiàn)會獲取上下文中的信息,如果需要測試的話就只能另外編寫代碼設(shè)置上下文,調(diào)用接口實現(xiàn),相對來說會比較麻煩。閑暇之際基于springboot做了個小工具解決這個問題,希望可以幫助有需要的同學(xué),源碼地址為
https://github.com/xhjcehust/...,歡迎fork或star~
實現(xiàn)http->dubbo的轉(zhuǎn)換,任意dubbo接口都可以通過http請求來轉(zhuǎn)發(fā)代理實現(xiàn),支持dubbo attachments,可部署用于測試環(huán)境的dubbo接口調(diào)試
三、原理原理比較簡單,http請求經(jīng)過dubbo-invoker解析之后,泛化調(diào)用到后端dubbo provider,執(zhí)行完成后將結(jié)果返回,整個數(shù)據(jù)流程如下:
默認(rèn)注冊中心的地址是zookeeper://127.0.0.1:2181,
如需替換,修改
dubbo-invoker-provider/src/main/resources/dubbo-demo-provider.xml 和
dubbo-invoker-proxy/src/main/resources/application.properties中的注冊中心配置
org.github.xhjcehust.dubbo.provider.Provider#main
注:dubbo-invoker-provider僅用于provider demo展示,如果已經(jīng)部署了dubbo provider,可跳過此步驟
3.啟動dubbo-invoker-proxy:org.github.xhjcehust.dubbo.proxy.DubboInvokerApplication#main4.http請求示例
curl請求:
curl -H "Content-type: application/json" -X POST -d " { "interfaceName": "org.github.xhjcehust.dubbo.provider.api.EchoService", "methodName": "echoPojo", "argTypes": [ "org.github.xhjcehust.dubbo.provider.model.Pojo" ], "argObjects": [ { "count": 1, "value": "val" } ], "version": "1.0", "group": "test", "attachments": { "key": "value" } }" http://127.0.0.1:8080/dubboInvoker/index
返回:
{"count":1,"class":"org.github.xhjcehust.dubbo.provider.model.Pojo","value":"val"}
postman請求:
想要獲取最新技術(shù)文章?歡迎訂閱微信公眾號----軟件編程之路
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/76074.html
Github 地址:https://github.com/Snailclimb/springboot-integration-examples ,歡迎各位 Star。 目錄: 使用 SpringBoot+Dubbo 搭建一個簡單分布式服務(wù) 實戰(zhàn)之前,先來看幾個重要的概念 什么是分布式? 什么是 Duboo? Dubbo 架構(gòu) 什么是 RPC? 為什么要用 Dubbo? 開始實戰(zhàn) 1 ...
摘要:今天我想聊聊的另一個很棒的特性就是它的可擴(kuò)展性。的擴(kuò)展機(jī)制在的官網(wǎng)上,描述自己是一個高性能的框架。接下來的章節(jié)中我們會慢慢揭開擴(kuò)展機(jī)制的神秘面紗。擴(kuò)展擴(kuò)展點的實現(xiàn)類。的定義在配置文件中可以看到文件中定義了個的擴(kuò)展實現(xiàn)。 摘要: 在Dubbo的官網(wǎng)上,Dubbo描述自己是一個高性能的RPC框架。今天我想聊聊Dubbo的另一個很棒的特性, 就是它的可擴(kuò)展性。 Dubbo的擴(kuò)展機(jī)制 在Dub...
摘要:大揭秘目標(biāo)了解的新特性,以及版本升級的引導(dǎo)。四元數(shù)據(jù)改造我們知道以前的版本只有注冊中心,注冊中心的有數(shù)十個的鍵值對,包含了一個服務(wù)所有的元數(shù)據(jù)。 DUBBO——2.7大揭秘 目標(biāo):了解2.7的新特性,以及版本升級的引導(dǎo)。 前言 我們知道Dubbo在2011年開源,停止更新了一段時間。在2017 年 9 月 7 日,Dubbo 悄悄的在 GitHub 發(fā)布了 2.5.4 版本。隨后,版本...
摘要:英文全名為,也叫遠(yuǎn)程過程調(diào)用,其實就是一個計算機(jī)通信協(xié)議,它是一種通過網(wǎng)絡(luò)從遠(yuǎn)程計算機(jī)程序上請求服務(wù)而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。 Hello,Dubbo 你好,dubbo,初次見面,我想和你交個朋友。 Dubbo你到底是什么? 先給出一套官方的說法:Apache Dubbo是一款高性能、輕量級基于Java的RPC開源框架。 那么什么是RPC? 文檔地址:http://dubbo.a...
摘要:啟動容器,加載,運行服務(wù)提供者。服務(wù)提供者在啟動時,在注冊中心發(fā)布注冊自己提供的服務(wù)。注冊中心返回服務(wù)提供者地址列表給消費者,如果有變更,注冊中心將基于長連接推送變更數(shù)據(jù)給消費者。 一 為什么需要 dubbo 很多時候,其實我們使用這個技術(shù)的時候,可能都是因為項目需要,所以,我們就用了,但是,至于為什么我們需要用到這個技術(shù),可能自身并不是很了解的,但是,其實了解技術(shù)的來由及背景知識,對...
閱讀 3785·2021-08-30 09:47
閱讀 3728·2019-08-30 15:56
閱讀 688·2019-08-30 14:18
閱讀 707·2019-08-29 16:17
閱讀 2077·2019-08-29 11:07
閱讀 654·2019-08-26 13:53
閱讀 3461·2019-08-26 10:26
閱讀 2505·2019-08-23 18:30