Skip to content
Snippets Groups Projects
Commit 325755cb authored by vito.he's avatar vito.he
Browse files

Mod:change registries in reference & service to registry

parent 748f5cf4
No related branches found
No related tags found
No related merge requests found
......@@ -86,8 +86,8 @@ func TestLoad(t *testing.T) {
func TestWithNoRegLoad(t *testing.T) {
doInit()
doinit()
providerConfig.Services["MockService"].Registries = []string{}
consumerConfig.References["MockService"].Registries = []string{}
providerConfig.Services["MockService"].Registry = ""
consumerConfig.References["MockService"].Registry = ""
ms := &MockService{}
SetConsumerService(ms)
SetProviderService(ms)
......
......@@ -43,7 +43,7 @@ type ReferenceConfig struct {
Url string `yaml:"url" json:"url,omitempty" property:"url"`
Filter string `yaml:"filter" json:"filter,omitempty" property:"filter"`
Protocol string `yaml:"protocol" json:"protocol,omitempty" property:"protocol"`
Registries []string `yaml:"registries" json:"registries,omitempty" property:"registries"`
Registry string `yaml:"registry" json:"registry,omitempty" property:"registry"`
Cluster string `yaml:"cluster" json:"cluster,omitempty" property:"cluster"`
Loadbalance string `yaml:"loadbalance" json:"loadbalance,omitempty" property:"loadbalance"`
Retries int64 `yaml:"retries" json:"retries,omitempty" property:"retries"`
......@@ -100,7 +100,7 @@ func (refconfig *ReferenceConfig) Refer() {
}
} else {
//2. assemble SubURL from register center's configuration模式
refconfig.urls = loadRegistries(refconfig.Registries, consumerConfig.Registries, common.CONSUMER)
refconfig.urls = loadRegistries(refconfig.Registry, consumerConfig.Registries, common.CONSUMER)
//set url to regUrls
for _, regUrl := range refconfig.urls {
......
......@@ -80,7 +80,7 @@ func doInit() {
},
References: map[string]*ReferenceConfig{
"MockService": {
Registries: []string{"shanghai_reg1", "shanghai_reg2", "hangzhou_reg1", "hangzhou_reg2"},
Registry: "shanghai_reg1,shanghai_reg2,hangzhou_reg1,hangzhou_reg2",
InterfaceName: "MockService",
Protocol: "mock",
Cluster: "failover",
......
......@@ -21,6 +21,7 @@ import (
"context"
"net/url"
"strconv"
"strings"
)
import (
......@@ -44,17 +45,20 @@ func (*RegistryConfig) Prefix() string {
return constant.RegistryConfigPrefix
}
func loadRegistries(targetRegistries []string, registries map[string]*RegistryConfig, roleType common.RoleType) []*common.URL {
func loadRegistries(targetRegistries string, registries map[string]*RegistryConfig, roleType common.RoleType) []*common.URL {
var urls []*common.URL
trSlice := strings.Split(targetRegistries, ",")
for k, registryConf := range registries {
target := false
// if user not config targetRegistries,default load all
if len(targetRegistries) == 0 {
// Notice:If s does not contain sep and sep is not empty, SplitAfter returns a slice of length 1 whose only element is s.
if len(trSlice) == 0 || (len(trSlice) == 1 && trSlice[0] == "") {
target = true
} else {
// else if user config targetRegistries
for _, tr := range targetRegistries {
for _, tr := range trSlice {
if tr == k {
target = true
break
......
......@@ -46,7 +46,7 @@ type ServiceConfig struct {
Filter string `yaml:"filter" json:"filter,omitempty" property:"filter"`
Protocol string `required:"true" yaml:"protocol" json:"protocol,omitempty" property:"protocol"` //multi protocol support, split by ','
InterfaceName string `required:"true" yaml:"interface" json:"interface,omitempty" property:"interface"`
Registries []string `yaml:"registries" json:"registries,omitempty" property:"registries"`
Registry string `yaml:"registry" json:"registry,omitempty" property:"registry"`
Cluster string `default:"failover" yaml:"cluster" json:"cluster,omitempty" property:"cluster"`
Loadbalance string `default:"random" yaml:"loadbalance" json:"loadbalance,omitempty" property:"loadbalance"`
Group string `yaml:"group" json:"group,omitempty" property:"group"`
......@@ -88,7 +88,7 @@ func (srvconfig *ServiceConfig) Export() error {
return nil
}
regUrls := loadRegistries(srvconfig.Registries, providerConfig.Registries, common.PROVIDER)
regUrls := loadRegistries(srvconfig.Registry, providerConfig.Registries, common.PROVIDER)
urlMap := srvconfig.getUrlMap()
for _, proto := range loadProtocol(srvconfig.Protocol, providerConfig.Protocols) {
......
......@@ -76,7 +76,7 @@ func doinit() {
"MockService": {
InterfaceName: "MockService",
Protocol: "mock",
Registries: []string{"shanghai_reg1", "shanghai_reg2", "hangzhou_reg1", "hangzhou_reg2"},
Registry: "shanghai_reg1,shanghai_reg2,hangzhou_reg1,hangzhou_reg2",
Cluster: "failover",
Loadbalance: "random",
Retries: 3,
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment