mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2025-11-03 20:40:25 +08:00
优化源站有专属域名情况下的算法
This commit is contained in:
@@ -65,6 +65,7 @@ func (this *ReverseProxyConfig) Init() error {
|
||||
|
||||
// 将源站分组
|
||||
this.schedulingGroupMap = map[string]*SchedulingGroup{}
|
||||
var hasDomainGroups = false
|
||||
for _, origin := range this.PrimaryOrigins {
|
||||
if len(origin.Domains) == 0 {
|
||||
group, ok := this.schedulingGroupMap[""]
|
||||
@@ -77,6 +78,7 @@ func (this *ReverseProxyConfig) Init() error {
|
||||
}
|
||||
group.PrimaryOrigins = append(group.PrimaryOrigins, origin)
|
||||
} else {
|
||||
hasDomainGroups = true
|
||||
for _, domain := range origin.Domains {
|
||||
group, ok := this.schedulingGroupMap[domain]
|
||||
if !ok {
|
||||
@@ -102,6 +104,7 @@ func (this *ReverseProxyConfig) Init() error {
|
||||
}
|
||||
group.BackupOrigins = append(group.BackupOrigins, origin)
|
||||
} else {
|
||||
hasDomainGroups = true
|
||||
for _, domain := range origin.Domains {
|
||||
group, ok := this.schedulingGroupMap[domain]
|
||||
if !ok {
|
||||
@@ -116,6 +119,23 @@ func (this *ReverseProxyConfig) Init() error {
|
||||
}
|
||||
}
|
||||
|
||||
// 再次分解
|
||||
if hasDomainGroups {
|
||||
defaultGroup, ok := this.schedulingGroupMap[""]
|
||||
if ok {
|
||||
delete(this.schedulingGroupMap, "")
|
||||
|
||||
for _, group := range this.schedulingGroupMap {
|
||||
for _, origin := range defaultGroup.PrimaryOrigins {
|
||||
group.PrimaryOrigins = append(group.PrimaryOrigins, origin)
|
||||
}
|
||||
for _, origin := range defaultGroup.BackupOrigins {
|
||||
group.BackupOrigins = append(group.BackupOrigins, origin)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 初始化分组
|
||||
for _, group := range this.schedulingGroupMap {
|
||||
err := group.Init()
|
||||
|
||||
Reference in New Issue
Block a user