diff --git a/config/consumer_config.go b/config/consumer_config.go
index f8b671bf3cf8304d57211f2f8b7c7c35f2aa6b9e..48f29f0e70028a7c057ee3831b45afa72446f3d0 100644
--- a/config/consumer_config.go
+++ b/config/consumer_config.go
@@ -47,7 +47,7 @@ type ConsumerConfig struct {
 	ConnectTimeout  time.Duration
 
 	Registry   *RegistryConfig            `yaml:"registry" json:"registry,omitempty" property:"registry"`
-	Registries map[string]*RegistryConfig `yaml:"registries" json:"registries,omitempty" property:"registries"`
+	Registries map[string]*RegistryConfig `default:"{}" yaml:"registries" json:"registries" property:"registries"`
 
 	Request_Timeout string `yaml:"request_timeout" default:"5s" json:"request_timeout,omitempty" property:"request_timeout"`
 	RequestTimeout  time.Duration
diff --git a/config/graceful_shutdown_signal_darwin.go b/config/graceful_shutdown_signal_darwin.go
index 6f1fa982a30125096c553e65c13bae1a413ea141..1a557dd3ed32cfe571216f61a5a6f8fe064bb254 100644
--- a/config/graceful_shutdown_signal_darwin.go
+++ b/config/graceful_shutdown_signal_darwin.go
@@ -26,7 +26,7 @@ var (
 	// ShutdownSignals receives shutdown signals to process
 	ShutdownSignals = []os.Signal{os.Interrupt, os.Kill, syscall.SIGKILL, syscall.SIGSTOP,
 		syscall.SIGHUP, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGILL, syscall.SIGTRAP,
-		syscall.SIGABRT, syscall.SIGSYS}
+		syscall.SIGABRT, syscall.SIGSYS, syscall.SIGTERM}
 
 	// DumpHeapShutdownSignals receives shutdown signals to process
 	DumpHeapShutdownSignals = []os.Signal{syscall.SIGQUIT, syscall.SIGILL,
diff --git a/config/graceful_shutdown_signal_linux.go b/config/graceful_shutdown_signal_linux.go
index 6f1fa982a30125096c553e65c13bae1a413ea141..1a557dd3ed32cfe571216f61a5a6f8fe064bb254 100644
--- a/config/graceful_shutdown_signal_linux.go
+++ b/config/graceful_shutdown_signal_linux.go
@@ -26,7 +26,7 @@ var (
 	// ShutdownSignals receives shutdown signals to process
 	ShutdownSignals = []os.Signal{os.Interrupt, os.Kill, syscall.SIGKILL, syscall.SIGSTOP,
 		syscall.SIGHUP, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGILL, syscall.SIGTRAP,
-		syscall.SIGABRT, syscall.SIGSYS}
+		syscall.SIGABRT, syscall.SIGSYS, syscall.SIGTERM}
 
 	// DumpHeapShutdownSignals receives shutdown signals to process
 	DumpHeapShutdownSignals = []os.Signal{syscall.SIGQUIT, syscall.SIGILL,
diff --git a/config/graceful_shutdown_signal_windows.go b/config/graceful_shutdown_signal_windows.go
index 3136e5ae15081f026e8a6e602a5174e1d396abf7..89edd27b184e3fddda5e794f686b86397c7019bb 100644
--- a/config/graceful_shutdown_signal_windows.go
+++ b/config/graceful_shutdown_signal_windows.go
@@ -26,7 +26,7 @@ var (
 	// ShutdownSignals receives shutdown signals to process
 	ShutdownSignals = []os.Signal{os.Interrupt, os.Kill, syscall.SIGKILL,
 		syscall.SIGHUP, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGILL, syscall.SIGTRAP,
-		syscall.SIGABRT}
+		syscall.SIGABRT, syscall.SIGTERM}
 
 	// DumpHeapShutdownSignals receives shutdown signals to process
 	DumpHeapShutdownSignals = []os.Signal{syscall.SIGQUIT, syscall.SIGILL, syscall.SIGTRAP, syscall.SIGABRT}
diff --git a/config/provider_config.go b/config/provider_config.go
index 9d8a2429d2fc1d88b01c436ae96d55bcd1c729aa..7cd3c1e98bfb8c35abb2b414b782ec709d0a8d0d 100644
--- a/config/provider_config.go
+++ b/config/provider_config.go
@@ -48,7 +48,7 @@ type ProviderConfig struct {
 	ConfigType     map[string]string          `yaml:"config_type" json:"config_type,omitempty" property:"config_type"`
 
 	Registry   *RegistryConfig            `yaml:"registry" json:"registry,omitempty" property:"registry"`
-	Registries map[string]*RegistryConfig `yaml:"registries" json:"registries,omitempty" property:"registries"`
+	Registries map[string]*RegistryConfig `default:"{}" yaml:"registries" json:"registries" property:"registries"`
 }
 
 // UnmarshalYAML unmarshals the ProviderConfig by @unmarshal function