diff --git a/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterDiscovery.java b/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterDiscovery.java
index f0c2673..6b5578e 100644
--- a/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterDiscovery.java
+++ b/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterDiscovery.java
@@ -45,6 +45,8 @@
 
   private static final String ALL_VERSION = "0+";
 
+  private static volatile boolean pullInstanceTaskOnceInProgress = false;
+
   public static class SubscriptionKey {
     final String appId;
 
@@ -144,7 +146,12 @@
 
   @Subscribe
   public void onPullInstanceEvent(PullInstanceEvent event) {
-    pullAllInstance();
+    // to avoid too many pulls queued.
+    if (pullInstanceTaskOnceInProgress) {
+      return;
+    }
+    pullInstanceTaskOnceInProgress = true;
+    startTask(new PullInstanceOnceTask());
   }
 
   private void pullInstance(SubscriptionKey k, SubscriptionValue v) {
@@ -205,6 +212,17 @@
     }
   }
 
+  class PullInstanceOnceTask implements Task {
+    @Override
+    public void execute() {
+      try {
+        pullAllInstance();
+      } finally {
+        pullInstanceTaskOnceInProgress = false;
+      }
+    }
+  }
+
   private synchronized void pullAllInstance() {
     instancesCache.forEach((k, v) -> {
       pullInstance(k, v);
diff --git a/governance/src/main/java/org/apache/servicecomb/governance/handler/InstanceIsolationHandler.java b/governance/src/main/java/org/apache/servicecomb/governance/handler/InstanceIsolationHandler.java
index 85afecd..8ab3333 100644
--- a/governance/src/main/java/org/apache/servicecomb/governance/handler/InstanceIsolationHandler.java
+++ b/governance/src/main/java/org/apache/servicecomb/governance/handler/InstanceIsolationHandler.java
@@ -34,7 +34,7 @@
 import io.micrometer.core.instrument.MeterRegistry;
 
 public class InstanceIsolationHandler extends AbstractGovernanceHandler<CircuitBreaker, CircuitBreakerPolicy> {
-  private static final Logger LOGGER = LoggerFactory.getLogger(CircuitBreakerHandler.class);
+  private static final Logger LOGGER = LoggerFactory.getLogger(InstanceIsolationHandler.class);
 
   private static final String DEFAULT_SERVICE_NAME = "default";
 
