diff --git a/registry/etcdv3/registry.go b/registry/etcdv3/registry.go
index 2fec8eaad25e716fc5ed5ee33775d8898cb212e2..4ae04e6dd6cedeae0b48197f582ac8b50ebc3952 100644
--- a/registry/etcdv3/registry.go
+++ b/registry/etcdv3/registry.go
@@ -113,7 +113,7 @@ func (r *etcdV3Registry) InitListeners() {
 
 // DoRegister actually do the register job in the registry center of etcd
 func (r *etcdV3Registry) DoRegister(root string, node string) error {
-	return r.client.Create(path.Join(root, node), "")
+	return r.client.RegisterTemp(path.Join(root, node), "")
 }
 
 // nolint