1. 程式人生 > >Dubbo 生態添新兵,Dubbo Admin 釋出 v0.1

Dubbo 生態添新兵,Dubbo Admin 釋出 v0.1

為了提升 Dubbo 里程碑版本2.7.0的使用體驗,我們於去年年中啟動了 Dubbo Admin 的重構計劃,並作為Dubbo生態的子專案,於近期釋出了v0.1,重構後的專案在結構上的變化如下:

  • 將後端框架從webx替換成spring boot
  • 前端採用Vue和Vuetify.js作為開發框架
  • 移除velocity模板
  • 整合swagger,提供api管理功能

當前版本的Dubbo Admin包含了之前版本中的絕大部分功能,包括服務治理,服務查詢等,同時支援了Dubbo2.7中服務治理的新特性。

配置規範

由於在Dubbo2.7中,配置中心和註冊中心做了分離,並且增加了元資料中心,因此Dubbo Admin的配置方式也做了更新,application.properties

中的配置如下:

admin.registry.address=zookeeper://127.0.0.1:2181
admin.config-center=zookeeper://127.0.0.1:2181
admin.metadata.address=zookeeper://127.0.0.1:2181

也可以和Dubbo2.7一樣,在配置中心指定元資料和註冊中心的地址,以zookeeper為例,配置的路徑和內容如下:

# /dubbo/config/dubbo/dubbo.properties
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.metadata-report.address=zookeeper://127.0.0.1:2181

配置中心裡的地址會覆蓋掉本地application.properties的配置

功能介紹

功能上,主要延續了之前版本的功能,包括服務查詢和服務治理,2.7版本在服務治理的功能上有了很大的改進,這些改進也大部分都會以Dubbo Admin作為入口來體現。

標籤路由

標籤路由是Dubbo2.7引入的新功能,配置以應用作為維度,給不同的伺服器打上不同名字的標籤,配置如下圖所示:

1548675129621_1f2f3f68_4f35_4105_97e2_c4a0d7dc62c8_jpeg

呼叫的時候,客戶端可以通過setAttachment的方式,來設定不同的標籤名稱,比如本例中,setAttachment(tag1),客戶端的選址範圍就在如圖所示的三臺機器中,可以通過這種方式來實現流量隔離,灰度釋出等功能。

應用級別的服務治理

在Dubbo2.6及更早版本中,所有的服務治理規則都只針對服務粒度,如果要把某條規則作用到應用粒度上,需要為應用下的所有服務配合相同的規則,變更,刪除的時候也需要對應的操作,這樣的操作很不友好,因此Dubbo2.7版本中增加了應用粒度的服務治理操作,對於條件路由(包括黑白名單),動態配置(包括權重,負載均衡)都可以做應用級別的配置:

1548675095660_2abe00e4_7a3c_4c49_8649_0cc81e00e324_jpeg

上圖是條件路由的配置,可以按照應用名,服務名兩個維度來填寫,也可以按照這兩個維度來查詢。

1548675169501_57b22613_ba3a_462b_b3ba_af34ea778589_jpeg

條件路由,標籤路由和動態配置都採用了yaml格式的文字編寫,其他的規則配置還是採用了表單的形式。

關於相容性

Dubbo2.6到Dubbo2.7,服務治理髮生了比較大的變化,Dubbo Admin相容兩個版本的用法:

  • 對於服務級別的配置,會按照Dubbo2.6(URL)和Dubbo2.7(配置檔案)兩種格式進行寫入,保證Dubbo2.6的客戶端能夠正確讀取,解析規則
  • 對於應用級別的配置,包括標籤路由,只會按照Dubbo2.7的格式進行寫入,因為Dubbo2.6無此功能,不需要做向前相容。
  • Dubbo Admin只會按照Dubbo2.7的格式進行配置讀取,因此,所有在Dubbo Admin上做的配置都可以被讀到,但是之前遺留的,Dubbo2.6格式的URL無法被讀取。
  • 對於同一個應用或者服務,每種規則只能夠配置一條,否則新的會覆蓋舊的。

配置管理

配置管理也是配合Dubbo2.7新增的功能,在Dubbo2.7中,增加了全域性和應用維度的配置。

  • 全域性配置:

1548675196442_4611bfd9_5077_4bd2_a2b1_ad89c5eefc13_jpeg

全域性配置裡可以指定註冊中心,元資料中心的地址,服務端和客戶端的超時時間等,這些配置在全域性內生效。除了配置寫入,也可以用來檢視。如果使用zookeeper作為註冊中心和元資料中心,還可以看到配置檔案所在位置的目錄結構。

  • 應用和服務配置 
    1548675223170_772fd97b_f49f_4cf6_be40_34355f8159a1_jpeg

應用級別的配置可以為應用或者應用內的服務指定配置,在服務維度上,需要區分提供者和消費者。dubbo.reference.{serviceName}表示作為該服務消費者的配置,dubbo.provider.{servcieName}表示作為該服務提供者的配置。優先順序服務 > 應用 > 全域性。其中註冊中心和元資料中心的地址,只能在全域性配置中指定,這也是Dubbo2.7中推薦的使用方式。

元資料和服務測試

元資料是Dubbo2.7中新引入的元素,主要的使用場景就在Dubbo Admin中,主要體現在兩個地方:

  • 服務詳情展示:

1548675234502_67cefa2f_e180_4715_a203_a98bf515fe4f_jpeg

跟之前版本相比,Dubbo2.7中增加了對服務方法完整簽名的記錄,因此服務詳情中也增加了方法資訊的詳情,可以看到方法名,方法引數列表以及返回值資訊。

  • 服務測試:

1548675056214_730b7a7b_d4af_4a57_ab3f_380c5afcdabb_jpeg

更重要的,元資料為服務測試提供了資料基礎,可以在頁面上呼叫真實的服務提供者,方便測試,也不需要為了呼叫服務去搭建一套Dubbo環境以及編寫消費端程式碼。服務測試的詳細使用方式可通過點選這裡進行了解。

相關推薦

Dubbo 生態新兵Dubbo Admin 釋出 v0.1

為了提升 Dubbo 里程碑版本2.7.0的使用體驗,我們於去年年中啟動了 Dub

Dubbo 生態新兵Dubbo Admin 發布 v0.1

min 環境 其中 in包含 try onf set zookeeper 否則 為了提升 Dubbo 裏程碑版本2.7.0的使用體驗,我們於去年年中啟動了 Dubbo Admin 的重構計劃,並作為Dubbo生態的子項目,於近期發布了v0.1,重構後的項目在結構上的變化如下

Dubbo踩坑01 Dubbo-Admin 管理平臺搭建

          本篇文章是我參考他人部落格,進行 Dubbo-Admin 管理平臺搭建過程中,踩了很多坑,才將 Dubbo-Admin 管理平臺搭建成功 的。在這裡,做一些自己的經驗分享,希望能夠幫到各位。           按照以下的步驟,一步步去執行, Dub

Nacos 計劃釋出v0.2版本進一步融合Dubbo和SpringCloud生態

在近期的Aliware Open Source 成都站的活動上,阿里巴巴高階工程師邢學超(於懷)分享了Nacos v0.2的規劃和進度,並對Nacos v0.3的控制檯進行了預覽。Nacos v0.2將進一步融入Duboo和Spring Cloud生態,幫助開發者更好的在微服

支持Dubbo生態發展阿裏巴巴啟動新的開源項目 Nacos

discovery 思考 不必要 dfa none 通過 可用 open hold 摘要: 上周六的Aliware技術行上海站Dubbo開發者沙龍上,阿裏巴巴高級技術專家郭平(坤宇)宣布了阿裏巴巴的一個新開源計劃,阿裏巴巴計劃在7月份開啟一個名叫Nacos的新開源項目, 在

阿裏巴巴宣布 Sentinel 開源進一步完善 Dubbo 生態

size cli 新的 推薦 客戶 匯總 背景 service 流量控制 摘要: 1、當服務量大到一定程度,流量扛不住的時候,該如何處理? 2、應用之間相互依賴,當應用A出現響應時間過長,影響到應用B的響應,進而產生連鎖反應影響整個依賴鏈上的所有應用,該如何處理? 隨著微服

貢獻Dubbo生態阿里開源Nacos專案

阿里巴巴微服務開源專案Nacos於近期釋出v0.5.0版本,該版本主要包括了DNS-basedService Discovery,對Java 11的支援,持續優化Nacos產品使用者體驗,更深度的與Spring Cloud體系的閘道器整合等方面做了演進。 什麼是Nacos Nacos 是阿里

dubbo-admin管理控制檯登陸的坑dubbo管理控制檯無法登陸

今天想體驗一下dubbo的管理控制檯,之前dubbo管控臺都是可以打包成war包 覺得下載別人的war包臺low了,就想下載管控臺的原始碼,自己打包war包 在dubbo的官網看到了這段教程 於是進入github地址 下載了這一堆東西  我在res

dubbo-admin在jdk 1.8上部署出錯URIType 問題 如何指定tomcat JDK版本

  一直報錯URIType 報錯問題 參考https://blog.csdn.net/liutengteng130/article/details/47112683   ERROR context.ContextLoader - Context initial

dubbo-admin部署失敗解決dubbo-admin 訪問錯誤解決

dubbo部署後不能訪問報404,用了下面這個連結下載的包就可以了。部署後的訪問地址是localhost:8080 使用者名稱是root,密碼是root http://download.csdn.ne

分布式框架 Maven Springmvc mybatis Dubbo ZooKeeperRedisFastDFS ActiveMQ

介紹 1. 項目核心代碼結構截圖 jeesz-utils jeesz-config jeesz-framework

14套java精品高級架構課Dubbo分布式Restful 服務並發原理編程SpringBootSpringCloudRocketMQ中間件視頻教程

工資 tac ini ati album rii fms ont html 14套java精品高級架構課,緩存架構,深入Jvm虛擬機,全文檢索Elasticsearch,Dubbo分布式Restful 服務,並發原理編程,SpringBoot,SpringCloud,Ro

訪問dubbo沒有權限通過ip進行跳轉服務器並通過有權限服務器代理訪問

service _for dnat asq tro -- 編譯 tar conf #啟動ip跳轉 echo 1 > /proc/sys/net/ipv4/ip_forward vi /etc/sysctl.conf net.ipv4.ip_forward =1

SOA架構dubboZookeeper

monitor 時間 集中 負載均衡 clas sum 均衡 工具使用 service 1. 分析 由於項目是基於soa的架構,表現層和服務層是不同的工程。所以要實現查詢需要兩個系統之間進行通信。 如何實現遠程通信? 1、Webservice:效率不高基於soap協

Maven多模塊Dubbo分布式服務框架SpringMVC前後端分離項目基礎搭建搭建過程出

接口實現 url 代碼 blacklist order compiler ply 整合過程 ram 一、Maven多模塊項目的創建     我們需要建立一個多模塊的maven項目,其目錄結構為其中student-api用於暴露接口;student-service用語處理業務

dubbo的學習使用第一章

dubbo在我感覺,是將一個一個系統裡面的mvc,再次分離了出來,解耦的作用,與spring無縫整合的一個東西 程式碼如下:dubbo的配置檔案 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.

Dubbo服務合買平臺搭建出售釋出之服務暴露&心跳機制&服務註冊

Dubbo服務釋出 Dubbo合買平臺搭建出售 dsluntan.com Q:3393756370 VX:17061863513服務釋出影響流程的主要包括三個部分,依次是: 服務暴露 心跳 服務註冊 服務暴露是對外提供服務及暴露埠,以便消費端可以正常調通服務。心跳機制保證伺服器端及客戶

Dubbo深度詳解及結合Zookeeper、SSM的RPC實戰

一、SOA 1.SOA概念 2.SOA定位 3.老的專案架構設計 3.1 企業專案不允許所有專案都訪問DB 3.2 開發時DB訪問層程式碼冗餘 4.使用SOA架構 4.1 專門訪問DB服務(專案) 4.2 開發時可以實現DB訪問層和程式碼複用 5.實現SOA的幾種

dubbo其實很簡單就是一個遠端服務呼叫的框架(1

dubbo專題」dubbo其實很簡單,就是一個遠端服務呼叫的框架(1) 一、dubbo是什麼? 1)本質:一個Jar包,一個分散式框架,,一個遠端服務呼叫的分散式框架。 既然是新手教學,肯定很多同學不明白什麼是分散式和遠端服務呼叫,為什麼要分散式,為什麼要遠端呼叫。我簡單畫個對比圖說明(

dubbo自定義filter報No such extension xxxFilter for filter/com.alibaba.dubbo.rpc.Filter錯誤

前言 最近在學習dubbo的filter時候,根據dubbo的開發手冊,自定義了一個filter,然後配置,結果控制檯報 No such extension xxxFilter for filter/com.alibaba.dubbo.rpc.Filter錯誤。特此記錄。 故障復