mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2025-11-05 14:20:24 +08:00
查询源站时加互斥锁
This commit is contained in:
@@ -196,8 +196,9 @@ func (this *ReverseProxyConfig) AddBackupOrigin(origin *OriginConfig) {
|
|||||||
|
|
||||||
// NextOrigin 取得下一个可用的后端服务
|
// NextOrigin 取得下一个可用的后端服务
|
||||||
func (this *ReverseProxyConfig) NextOrigin(call *shared.RequestCall) *OriginConfig {
|
func (this *ReverseProxyConfig) NextOrigin(call *shared.RequestCall) *OriginConfig {
|
||||||
this.schedulingLocker.RLock()
|
// 这里不能使用RLock/RUnlock,因为在NextOrigin()方法中可能会对调度对象动态调整
|
||||||
defer this.schedulingLocker.RUnlock()
|
this.schedulingLocker.Lock()
|
||||||
|
defer this.schedulingLocker.Unlock()
|
||||||
|
|
||||||
if len(this.schedulingGroupMap) == 0 {
|
if len(this.schedulingGroupMap) == 0 {
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
Reference in New Issue
Block a user