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