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