You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2021/06/07 12:06:48 UTC

[servicecomb-java-chassis] branch master updated: [SCB-2274]change connecting config/dashboard services rule to round robin (#2404)

This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
     new efbeee2  [SCB-2274]change connecting config/dashboard services rule to round robin (#2404)
efbeee2 is described below

commit efbeee2f21c356084b829c84af0afded80612d36
Author: liubao68 <bi...@qq.com>
AuthorDate: Mon Jun 7 20:06:24 2021 +0800

    [SCB-2274]change connecting config/dashboard services rule to round robin (#2404)
---
 .../config/center/client/AddressManager.java       |  12 +--
 .../config/center/client/ConfigCenterClient.java   |  14 ++-
 .../servicecomb/config/kie/client/KieClient.java   |  26 ++---
 .../config/kie/client/model/KieAddressManager.java |  16 +--
 .../service/center/client/AddressManager.java      |  19 ++--
 .../center/client/ServiceCenterRawClient.java      |   2 -
 .../service/center/client/ServiceCenterWatch.java  |  26 ++---
 demo/demo-cse-v1/pom.xml                           |   4 +
 .../dashboard/monitor/AddressManager.java          | 117 ++++-----------------
 .../monitor/DefaultMonitorDataPublisher.java       |  36 +++----
 10 files changed, 92 insertions(+), 180 deletions(-)

diff --git a/clients/config-center-client/src/main/java/org/apache/servicecomb/config/center/client/AddressManager.java b/clients/config-center-client/src/main/java/org/apache/servicecomb/config/center/client/AddressManager.java
index cc073ff..28772d4 100644
--- a/clients/config-center-client/src/main/java/org/apache/servicecomb/config/center/client/AddressManager.java
+++ b/clients/config-center-client/src/main/java/org/apache/servicecomb/config/center/client/AddressManager.java
@@ -19,7 +19,6 @@ package org.apache.servicecomb.config.center.client;
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Random;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.servicecomb.http.client.common.HttpUtils;
@@ -31,13 +30,12 @@ public class AddressManager {
 
   private final List<String> addresses;
 
-  private int index;
+  private int index = 0;
 
   public AddressManager(String projectName, List<String> addresses) {
     this.projectName = StringUtils.isEmpty(projectName) ? DEFAULT_PROJECT : projectName;
     this.addresses = new ArrayList<>(addresses.size());
     addresses.forEach((address -> this.addresses.add(formatAddress(address))));
-    this.index = new Random().nextInt(addresses.size());
   }
 
   private String formatAddress(String address) {
@@ -48,18 +46,12 @@ public class AddressManager {
     }
   }
 
-  public String nextAddress() {
+  public String address() {
     synchronized (this) {
       this.index++;
       if (this.index >= addresses.size()) {
         this.index = 0;
       }
-    }
-    return address();
-  }
-
-  public String address() {
-    synchronized (this) {
       return addresses.get(index);
     }
   }
diff --git a/clients/config-center-client/src/main/java/org/apache/servicecomb/config/center/client/ConfigCenterClient.java b/clients/config-center-client/src/main/java/org/apache/servicecomb/config/center/client/ConfigCenterClient.java
index c362804..3e668d2 100644
--- a/clients/config-center-client/src/main/java/org/apache/servicecomb/config/center/client/ConfigCenterClient.java
+++ b/clients/config-center-client/src/main/java/org/apache/servicecomb/config/center/client/ConfigCenterClient.java
@@ -30,10 +30,14 @@ import org.apache.servicecomb.http.client.common.HttpRequest;
 import org.apache.servicecomb.http.client.common.HttpResponse;
 import org.apache.servicecomb.http.client.common.HttpTransport;
 import org.apache.servicecomb.http.client.common.HttpUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.fasterxml.jackson.core.type.TypeReference;
 
 public class ConfigCenterClient implements ConfigCenterOperation {
+  private static final Logger LOGGER = LoggerFactory.getLogger(ConfigCenterClient.class);
+
   public static final String DEFAULT_APP_SEPARATOR = "@";
 
   public static final String DEFAULT_SERVICE_SEPARATOR = "#";
@@ -57,11 +61,15 @@ public class ConfigCenterClient implements ConfigCenterOperation {
     QueryConfigurationsResponse queryConfigurationsResponse = new QueryConfigurationsResponse();
 
     Map<String, Object> configurations = new HashMap<>();
+
+    String uri = null;
     try {
+      uri = addressManager.address() + "/configuration/items?dimensionsInfo="
+          + HttpUtils.encodeURLParam(dimensionsInfo) + "&revision=" + request.getRevision();
+
       Map<String, String> headers = new HashMap<>();
       headers.put("x-environment", request.getEnvironment());
-      HttpRequest httpRequest = new HttpRequest(addressManager.address() + "/configuration/items?dimensionsInfo="
-          + HttpUtils.encodeURLParam(dimensionsInfo) + "&revision=" + request.getRevision(), headers, null,
+      HttpRequest httpRequest = new HttpRequest(uri, headers, null,
           HttpRequest.GET);
 
       HttpResponse httpResponse = httpTransport.doRequest(httpRequest);
@@ -104,7 +112,7 @@ public class ConfigCenterClient implements ConfigCenterOperation {
                 + httpResponse.getContent());
       }
     } catch (IOException e) {
-      addressManager.nextAddress();
+      LOGGER.error("query configuration from {} failed, message={}", uri, e.getMessage());
       throw new OperationException("", e);
     }
   }
diff --git a/clients/config-kie-client/src/main/java/org/apache/servicecomb/config/kie/client/KieClient.java b/clients/config-kie-client/src/main/java/org/apache/servicecomb/config/kie/client/KieClient.java
index 4a1fdb6..bd84505 100644
--- a/clients/config-kie-client/src/main/java/org/apache/servicecomb/config/kie/client/KieClient.java
+++ b/clients/config-kie-client/src/main/java/org/apache/servicecomb/config/kie/client/KieClient.java
@@ -66,19 +66,19 @@ public class KieClient implements KieConfigOperation {
 
   @Override
   public ConfigurationsResponse queryConfigurations(ConfigurationsRequest request) {
-    try {
-      String url = addressManager.address()
-          + "/"
-          + DEFAULT_KIE_API_VERSION
-          + "/"
-          + kieConfiguration.getProject()
-          + "/kie/kv?"
-          + request.getLabelsQuery()
-          + "&revision="
-          + request.getRevision()
-          + "&withExact="
-          + request.isWithExact();
+    String url = addressManager.address()
+        + "/"
+        + DEFAULT_KIE_API_VERSION
+        + "/"
+        + kieConfiguration.getProject()
+        + "/kie/kv?"
+        + request.getLabelsQuery()
+        + "&revision="
+        + request.getRevision()
+        + "&withExact="
+        + request.isWithExact();
 
+    try {
       if (kieConfiguration.isEnableLongPolling()) {
         url += "&wait=" + kieConfiguration.getPollingWaitInSeconds() + "s";
       }
@@ -106,7 +106,7 @@ public class KieClient implements KieConfigOperation {
           "read response failed. status:" + httpResponse.getStatusCode() + "; message:" +
               httpResponse.getMessage() + "; content:" + httpResponse.getContent());
     } catch (Exception e) {
-      addressManager.nextAddress();
+      LOGGER.error("query configuration from {} failed, message={}", url, e.getMessage());
       throw new OperationException("read response failed. ", e);
     }
   }
diff --git a/clients/config-kie-client/src/main/java/org/apache/servicecomb/config/kie/client/model/KieAddressManager.java b/clients/config-kie-client/src/main/java/org/apache/servicecomb/config/kie/client/model/KieAddressManager.java
index de21237..dde884f 100644
--- a/clients/config-kie-client/src/main/java/org/apache/servicecomb/config/kie/client/model/KieAddressManager.java
+++ b/clients/config-kie-client/src/main/java/org/apache/servicecomb/config/kie/client/model/KieAddressManager.java
@@ -19,31 +19,23 @@ package org.apache.servicecomb.config.kie.client.model;
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Random;
 
 public class KieAddressManager {
   private final List<String> addresses;
 
-  private int index;
+  private int index = 0;
 
   public KieAddressManager(List<String> addresses) {
     this.addresses = new ArrayList<>(addresses.size());
-    addresses.forEach((address -> this.addresses.add(address)));
-    this.index = new Random().nextInt(addresses.size());
+    this.addresses.addAll(addresses);
   }
-
-  public String nextAddress() {
+  
+  public String address() {
     synchronized (this) {
       this.index++;
       if (this.index >= addresses.size()) {
         this.index = 0;
       }
-    }
-    return address();
-  }
-
-  public String address() {
-    synchronized (this) {
       return addresses.get(index);
     }
   }
diff --git a/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/AddressManager.java b/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/AddressManager.java
index 107af8d..df3e96c 100644
--- a/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/AddressManager.java
+++ b/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/AddressManager.java
@@ -19,7 +19,6 @@ package org.apache.servicecomb.service.center.client;
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Random;
 
 import org.apache.servicecomb.http.client.common.HttpUtils;
 
@@ -28,13 +27,12 @@ public class AddressManager {
 
   private final List<String> addresses;
 
-  private int index;
+  private int index = 0;
 
   public AddressManager(String projectName, List<String> addresses) {
     this.projectName = projectName;
     this.addresses = new ArrayList<>(addresses.size());
-    addresses.forEach((address -> this.addresses.add(address)));
-    this.index = new Random().nextInt(addresses.size());
+    this.addresses.addAll(addresses);
   }
 
   private String formatAddress(String address) {
@@ -45,21 +43,16 @@ public class AddressManager {
     }
   }
 
-  public void changeAddress() {
-    synchronized (this) {
-      this.index++;
-      if (this.index >= addresses.size()) {
-        this.index = 0;
-      }
-    }
-  }
-
   public boolean sslEnabled() {
     return address().startsWith("https://");
   }
 
   public String address() {
     synchronized (this) {
+      index++;
+      if (index >= addresses.size()) {
+        index = 0;
+      }
       return addresses.get(index);
     }
   }
diff --git a/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterRawClient.java b/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterRawClient.java
index 303dfda..3b9a48b 100755
--- a/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterRawClient.java
+++ b/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterRawClient.java
@@ -80,7 +80,6 @@ public class ServiceCenterRawClient {
     try {
       return httpTransport.doRequest(httpRequest);
     } catch (IOException e) {
-      addressManager.changeAddress();
       String retryAddress = addressManager.formatUrl(url, absoluteUrl);
       LOGGER.warn("send request to {} failed and retry to {} once. ", address,
           retryAddress, e);
@@ -88,7 +87,6 @@ public class ServiceCenterRawClient {
       try {
         return httpTransport.doRequest(httpRequest);
       } catch (IOException ioException) {
-        addressManager.changeAddress();
         LOGGER.warn("retry to {} failed again. ", retryAddress, e);
         throw ioException;
       }
diff --git a/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterWatch.java b/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterWatch.java
index e09af10..d8faafa 100644
--- a/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterWatch.java
+++ b/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterWatch.java
@@ -51,15 +51,15 @@ public class ServiceCenterWatch implements WebSocketListener {
 
   private static final long SLEEP_MAX = 10 * 60 * 10000;
 
-  private AddressManager addressManager;
+  private final AddressManager addressManager;
 
-  private SSLProperties sslProperties;
+  private final SSLProperties sslProperties;
 
-  private RequestAuthHeaderProvider requestAuthHeaderProvider;
+  private final RequestAuthHeaderProvider requestAuthHeaderProvider;
 
-  private String tenantName;
+  private final String tenantName;
 
-  private Map<String, String> extraGlobalHeaders;
+  private final Map<String, String> extraGlobalHeaders;
 
   private WebSocketTransport webSocketTransport;
 
@@ -69,11 +69,13 @@ public class ServiceCenterWatch implements WebSocketListener {
 
   private int continuousError = 0;
 
-  private AtomicBoolean reconnecting = new AtomicBoolean(false);
+  private final AtomicBoolean reconnecting = new AtomicBoolean(false);
 
-  private EventBus eventBus;
+  private final EventBus eventBus;
 
-  private ExecutorService connector = Executors.newFixedThreadPool(1, (r) -> new
+  private String currentServerUri;
+
+  private final ExecutorService connector = Executors.newFixedThreadPool(1, (r) -> new
       Thread(r, "web-socket-connector"));
 
   public ServiceCenterWatch(AddressManager addressManager,
@@ -106,8 +108,9 @@ public class ServiceCenterWatch implements WebSocketListener {
         headers.put("x-domain-name", this.tenantName);
         headers.putAll(this.extraGlobalHeaders);
         headers.putAll(this.requestAuthHeaderProvider.loadAuthHeader(null));
-        LOGGER.info("start watch to address {}", addressManager.address());
-        webSocketTransport = new WebSocketTransport(convertAddress(), sslProperties,
+        currentServerUri = convertAddress();
+        LOGGER.info("start watch to address {}", currentServerUri);
+        webSocketTransport = new WebSocketTransport(currentServerUri, sslProperties,
             headers, this);
         webSocketTransport.connectBlocking();
       } catch (Exception e) {
@@ -144,7 +147,6 @@ public class ServiceCenterWatch implements WebSocketListener {
     if (webSocketTransport != null) {
       webSocketTransport.close();
     }
-    addressManager.changeAddress();
     startWatch();
   }
 
@@ -178,7 +180,7 @@ public class ServiceCenterWatch implements WebSocketListener {
 
   @Override
   public void onOpen(ServerHandshake serverHandshake) {
-    LOGGER.info("web socket connected to server {}, status={}, message={}", addressManager.address(),
+    LOGGER.info("web socket connected to server {}, status={}, message={}", currentServerUri,
         serverHandshake.getHttpStatus(),
         serverHandshake.getHttpStatusMessage());
     continuousError = 0;
diff --git a/demo/demo-cse-v1/pom.xml b/demo/demo-cse-v1/pom.xml
index aff6149..3e60cdb 100644
--- a/demo/demo-cse-v1/pom.xml
+++ b/demo/demo-cse-v1/pom.xml
@@ -35,6 +35,10 @@
     </dependency>
     <dependency>
       <groupId>org.apache.servicecomb</groupId>
+      <artifactId>dashboard</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>registry-service-center</artifactId>
     </dependency>
     <dependency>
diff --git a/huawei-cloud/dashboard/src/main/java/org/apache/servicecomb/huaweicloud/dashboard/monitor/AddressManager.java b/huawei-cloud/dashboard/src/main/java/org/apache/servicecomb/huaweicloud/dashboard/monitor/AddressManager.java
index 27c1188..800206c 100644
--- a/huawei-cloud/dashboard/src/main/java/org/apache/servicecomb/huaweicloud/dashboard/monitor/AddressManager.java
+++ b/huawei-cloud/dashboard/src/main/java/org/apache/servicecomb/huaweicloud/dashboard/monitor/AddressManager.java
@@ -18,135 +18,64 @@
 package org.apache.servicecomb.huaweicloud.dashboard.monitor;
 
 
-import com.google.common.eventbus.Subscribe;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.servicecomb.deployment.Deployment;
 import org.apache.servicecomb.deployment.SystemBootstrapInfo;
 import org.apache.servicecomb.foundation.common.event.EventManager;
-import org.apache.servicecomb.deployment.Deployment;
 import org.apache.servicecomb.huaweicloud.dashboard.monitor.data.MonitorConstant;
-import org.apache.servicecomb.huaweicloud.dashboard.monitor.event.MonitorFailEvent;
 import org.apache.servicecomb.registry.api.registry.MicroserviceInstance;
 import org.apache.servicecomb.serviceregistry.RegistryUtils;
 
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
 
 public class AddressManager {
-  private static final String MONITR_SERVICE_NAME = "CseMonitoring";
-
-  private static final String MONITR_APPLICATION = "default";
-
-  private static final String MONITR_VERSION = "latest";
-
-  static class State {
-    static final long MAX_TIME = 300000;
-
-    static final int MIN_FAILED = 3;
-
-    private long failedCount = 0;
-
-    private long time;
-
-    public long getTime() {
-      return time;
-    }
-
-    public void setTime(long time) {
-      this.time = time;
-    }
-
-    boolean isIsolated() {
-      if (failedCount < MIN_FAILED) {
-        return false;
-      }
-      if ((System.currentTimeMillis() - time) > MAX_TIME) {
-        time = System.currentTimeMillis();
-        return false;
-      }
-      return true;
-    }
+  private static final String MONITOR_SERVICE_NAME = "CseMonitoring";
 
-    void setIsolateStatus(boolean isFailed) {
-      if (isFailed) {
-        if (failedCount == 0) {
-          time = System.currentTimeMillis();
-        }
-        failedCount++;
-      } else {
-        failedCount = 0;
-      }
-    }
-  }
+  private static final String MONITOR_APPLICATION = "default";
 
-  private Map<String, State> addresses = new LinkedHashMap<>();
+  private static final String MONITOR_VERSION = "latest";
 
-  private String currentServer;
+  private final List<String> addresses = new ArrayList<>();
 
-  private State discoveryState = new State();
+  private int index = 0;
 
   AddressManager() {
     updateAddresses();
+    updateServersFromSC();
     EventManager.register(this);
   }
 
-  public Map<String, State> getAddresses() {
-    return addresses;
-  }
-
-  public void updateAddresses() {
+  private void updateAddresses() {
     SystemBootstrapInfo info = Deployment.getSystemBootStrapInfo(
         MonitorConstant.SYSTEM_KEY_DASHBOARD_SERVICE);
-    if (addresses.size() > 0) {
-      addresses.clear();
-    }
     if (info != null && info.getAccessURL() != null) {
-      info.getAccessURL().forEach(url -> {
-        addresses.put(url, new State());
-      });
+      addresses.addAll(info.getAccessURL());
     }
   }
 
-  @Subscribe
-  public void MonitorFailEvent(MonitorFailEvent event) {
-    updateAddresses();
-  }
-
   String nextServer() {
-    if (currentServer == null && addresses.size() > 0) {
-      currentServer = addresses.keySet().iterator().next();
-    }
-
-    if (currentServer == null || addresses.get(currentServer).isIsolated()) {
-      currentServer = null;
-      if (!discoveryState.isIsolated()) {
-        updateServersFromSC();
-        discoveryState.setIsolateStatus(true);
-      }
-      for (Map.Entry<String, State> entry : addresses.entrySet()) {
-        if (!entry.getValue().isIsolated()) {
-          currentServer = entry.getKey();
-          break;
-        }
+    synchronized (this) {
+      this.index++;
+      if (this.index >= addresses.size()) {
+        this.index = 0;
       }
+      return addresses.get(index);
     }
-    return currentServer;
   }
 
   private void updateServersFromSC() {
-    List<MicroserviceInstance> servers = RegistryUtils.findServiceInstance(MONITR_APPLICATION,
-        MONITR_SERVICE_NAME,
-        MONITR_VERSION);
+    List<MicroserviceInstance> servers = RegistryUtils.findServiceInstance(MONITOR_APPLICATION,
+        MONITOR_SERVICE_NAME,
+        MONITOR_VERSION);
     if (servers != null) {
       for (MicroserviceInstance server : servers) {
         for (String endpoint : server.getEndpoints()) {
-          addresses.computeIfAbsent(endpoint, key -> new State());
+          if (!addresses.contains(endpoint)) {
+            addresses.add(endpoint);
+          }
         }
       }
     }
   }
-
-  void updateStates(String server, boolean failed) {
-    addresses.get(server).setIsolateStatus(failed);
-  }
 }
diff --git a/huawei-cloud/dashboard/src/main/java/org/apache/servicecomb/huaweicloud/dashboard/monitor/DefaultMonitorDataPublisher.java b/huawei-cloud/dashboard/src/main/java/org/apache/servicecomb/huaweicloud/dashboard/monitor/DefaultMonitorDataPublisher.java
index a9d5535..e130374 100644
--- a/huawei-cloud/dashboard/src/main/java/org/apache/servicecomb/huaweicloud/dashboard/monitor/DefaultMonitorDataPublisher.java
+++ b/huawei-cloud/dashboard/src/main/java/org/apache/servicecomb/huaweicloud/dashboard/monitor/DefaultMonitorDataPublisher.java
@@ -17,14 +17,9 @@
 
 package org.apache.servicecomb.huaweicloud.dashboard.monitor;
 
-import io.netty.handler.codec.http.HttpResponseStatus;
-import io.vertx.core.DeploymentOptions;
-import io.vertx.core.Vertx;
-import io.vertx.core.VertxOptions;
-import io.vertx.core.http.HttpClientOptions;
-import io.vertx.core.http.HttpClientRequest;
-import io.vertx.core.json.Json;
-import io.vertx.core.net.ProxyOptions;
+import java.net.UnknownHostException;
+import java.util.HashMap;
+
 import org.apache.commons.io.IOUtils;
 import org.apache.servicecomb.foundation.auth.SignRequest;
 import org.apache.servicecomb.foundation.common.event.EventManager;
@@ -49,8 +44,14 @@ import org.apache.servicecomb.serviceregistry.RegistryUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.net.UnknownHostException;
-import java.util.HashMap;
+import io.netty.handler.codec.http.HttpResponseStatus;
+import io.vertx.core.DeploymentOptions;
+import io.vertx.core.Vertx;
+import io.vertx.core.VertxOptions;
+import io.vertx.core.http.HttpClientOptions;
+import io.vertx.core.http.HttpClientRequest;
+import io.vertx.core.json.Json;
+import io.vertx.core.net.ProxyOptions;
 
 public class DefaultMonitorDataPublisher implements MonitorDataPublisher {
   private static final Logger LOGGER = LoggerFactory.getLogger(DefaultMonitorDataPublisher.class);
@@ -90,7 +91,7 @@ public class DefaultMonitorDataPublisher implements MonitorDataPublisher {
     doSend(endpoint, jasonData, url, host, 0);
   }
 
-  private void doSend(String endponit, String jsonData, String url, IpPort host, int times) {
+  private void doSend(String endpoint, String jsonData, String url, IpPort host, int times) {
     clientMgr.findThreadBindClientPool().runOnContext(client -> {
       @SuppressWarnings("deprecation")
       HttpClientRequest request = client.post(host.getPort(),
@@ -101,7 +102,7 @@ public class DefaultMonitorDataPublisher implements MonitorDataPublisher {
             if (rsp.statusCode() != HttpResponseStatus.OK.code()) {
               if (times < MonitorConstant.MAX_RETRY_TIMES
                   && rsp.statusCode() == HttpResponseStatus.BAD_GATEWAY.code()) {
-                doSend(endponit, jsonData, url, host, times + 1);
+                doSend(endpoint, jsonData, url, host, times + 1);
                 return;
               }
               rsp.bodyHandler(buffer -> {
@@ -111,25 +112,22 @@ public class DefaultMonitorDataPublisher implements MonitorDataPublisher {
                 LOGGER.warn("message: {}", buffer);
               });
               EventManager.post(new MonitorFailEvent("send monitor data fail."));
-              addressManager.updateStates(endponit, false);
             } else {
               EventManager.post(new MonitorSuccEvent());
-              addressManager.updateStates(endponit, false);
             }
           });
       request.setTimeout(MonitorConstant.getInterval() / MonitorConstant.MAX_RETRY_TIMES);
       request.exceptionHandler(e -> {
         EventManager.post(new MonitorFailEvent("send monitor data fail."));
-        LOGGER.warn("Send monitor data to {} failed , {}", endponit, e.getMessage());
+        LOGGER.warn("Send monitor data to {} failed , {}", endpoint, e.getMessage());
         if (e instanceof UnknownHostException) {
           LOGGER.error("DNS resolve failed!", e);
         }
-        addressManager.updateStates(endponit, true);
       });
 
       try {
         SignRequest signReq = SignUtil.createSignRequest(request.method().toString(),
-            endponit + url,
+            endpoint + url,
             new HashMap<>(),
             IOUtils.toInputStream(jsonData, "UTF-8"));
         SignUtil.getAuthHeaderProviders().forEach(authHeaderProvider -> {
@@ -181,8 +179,4 @@ public class DefaultMonitorDataPublisher implements MonitorDataPublisher {
     }
     return httpClientOptions;
   }
-
-  public AddressManager getAddressManager() {
-    return addressManager;
-  }
 }