diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index c3e71307c..5b93f536d 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -22,6 +22,7 @@ const ( NotificationFileName = "notification.yaml" ENV = "CONFIG_NAME" DefaultPath = "../config/" + ConfKey = "conf" ) var Config config @@ -525,8 +526,16 @@ func (c *config) initConfig(config interface{}, configName, configPath string) e return c.unmarshalConfig(config, configPath) } -func (c *config) Register(registry discoveryregistry.SvcDiscoveryRegistry) error { - registry +func (c *config) RegisterConf2Registry(registry discoveryregistry.SvcDiscoveryRegistry) error { + bytes, err := yaml.Marshal(Config) + if err != nil { + return err + } + return registry.RegisterConf2Registry(ConfKey, bytes) +} + +func (c *config) GetConfFromRegistry(registry discoveryregistry.SvcDiscoveryRegistry) ([]byte, error) { + return registry.GetConfFromRegistry(ConfKey) } func InitConfig() error { diff --git a/pkg/discoveryregistry/discovery_register.go b/pkg/discoveryregistry/discovery_register.go index 792c0cefc..45d2ff2ea 100644 --- a/pkg/discoveryregistry/discovery_register.go +++ b/pkg/discoveryregistry/discovery_register.go @@ -9,5 +9,7 @@ type SvcDiscoveryRegistry interface { UnRegister() error GetConns(serviceName string, opts ...grpc.DialOption) ([]*grpc.ClientConn, error) GetConn(serviceName string, opts ...grpc.DialOption) (*grpc.ClientConn, error) - Re + + RegisterConf2Registry(key string, conf []byte) error + GetConfFromRegistry(key string) ([]byte, error) } diff --git a/pkg/utils/lock.go b/pkg/utils/lock.go new file mode 100644 index 000000000..d0070f56c --- /dev/null +++ b/pkg/utils/lock.go @@ -0,0 +1,6 @@ +package utils + +type DistributedLock interface { + Lock() + UnLock() +}