擴充套件Ribbon支援基於元資料的版本管理

2021-10-07 16:17:44 字數 1193 閱讀 9309

v1/v2是不相容的。

1、服務消費者v1只能呼叫服務提供者v1;消費者v2只能呼叫提供者v2。

2、優先呼叫同集群下的例項。

3、實現基於權重配置的負載均衡。

如何實現呢?

下面圍繞該場景,實現微服務之間的版本控制。

元資料

元資料就是一堆的描述資訊,以map儲存。舉個例子:

spring:

cloud:

nacos:

metadata:

# 自己這個例項的版本

version: v1

# 允許呼叫的提供者版本

target-version: v1

我們需要實現的有兩點:

@slf4j

public class nacosfinalrule extends abstractloadbalancerrule , instance = {}", targetversion, instances);

return null;}}

listclustermetadatamatchinstances = metadatamatchinstances;

// 如果配置了集群名稱,需篩選同集群下元資料匹配的例項

if (stringutils.isnotblank(clustername)) , targetversion = {}, clustermetadatamatchinstances = {}", clustername, targetversion, clustermetadatamatchinstances);}}

instance instance = extendbalancer.gethostbyrandomweight2(clustermetadatamatchinstances);

return new nacosserver(instance);

} catch (exception e)

}@override

public void initwithniwsconfig(iclientconfig iclientconfig)

}

負載均衡演算法:

public class extendbalancer extends balancer 

}

PE結構擴充套件與元資料

net對pe結構的擴充套件主要體現在.text節上,儲存了msil 元資料 各種特殊的.net結構。text變樣後 輸入表 clr頭 msil 和可選的異常處理表 強名稱的hash資料 元資料 託管資源資料 可選 非託管資源資料 可選 執行時啟動資訊 clr頭 定義在sdk安裝目錄的corhdr.件...

基於擴充套件有限元的多段壓裂裂縫的擴充套件模擬(二)

單位 kg m s n pa 1.部件 part1 二維平面模型 矩形工具 25,25 25,25 進入mesh模組 定義全域性網格尺寸0.5,指定網格型別 cpe4p part2 預製裂縫 二維平面模型 0,0.5 0,0.5 進入mesh模組 定義全域性網格尺寸0.5 網格剖分 指定單元型別 t...

基於元資料面向電子政務的空間資訊共享

對於乙個完整的電子政務系統來說,統一的框架和相應的資料共享模式是十分重要的。電子政務的構建,正經歷著由以技術為中心向以資料為中心的方向轉變,沒有資料也就沒有資訊,也就沒有 及電子 資料中心在電子政務系統中處於中心地位,具有良好模式的資料共享機制對於電子政務中資料中心的建設尤為重要。而作為資料中心重要...