diff --git a/registry/directory/directory.go b/registry/directory/directory.go
index 3ed11c6c4e129a7d8ccd9629dacdf08993ad278a..ccd87c80b2d76b9d35c7a81d1c975d9bac3b30ee 100644
--- a/registry/directory/directory.go
+++ b/registry/directory/directory.go
@@ -182,7 +182,7 @@ func (dir *RegistryDirectory) refreshAllInvokers(events []*registry.ServiceEvent
 	dir.setNewInvokers()
 	// destroy unused invokers
 	for _, invoker := range oldInvokers {
-		invoker.Destroy()
+		go invoker.Destroy()
 	}
 }