You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ya...@apache.org on 2019/08/29 12:39:08 UTC

[servicecomb-java-chassis] branch master updated (3da6ff5 -> 686395a)

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

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


    from 3da6ff5  delete redundant logic
     new 1e16ca4  [SCB-1450] Change Registry WebsocketClient work module  to a worker verticle,So it can support blocking-task,like Service Center watching task.
     new 148fd2a  [SCB-1450] change servicecomb.service.registry.client.workerPoolSize to servicecomb.service.registry.client.instance for workerPoolSize can not indicate how many verticle instances had been deployed.
     new 686395a  [SCB-1450] fix code review comments

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../client/http/AbstractClientPool.java            | 27 ++++++++++++--------
 .../client/http/HttpClientPool.java                |  9 +++++--
 .../client/http/WebsocketClientPool.java           |  7 +++++-
 .../config/ServiceRegistryConfig.java              | 29 ++++++++++++++++------
 .../config/TestServiceRegistryConfig.java          |  2 +-
 5 files changed, 52 insertions(+), 22 deletions(-)


[servicecomb-java-chassis] 02/03: [SCB-1450] change servicecomb.service.registry.client.workerPoolSize to servicecomb.service.registry.client.instance for workerPoolSize can not indicate how many verticle instances had been deployed.

Posted by ya...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 148fd2a10749ec2ebb7e19de5443fc6d0cc7e0b2
Author: Liu Huaizhou <li...@163.com>
AuthorDate: Tue Aug 20 14:53:14 2019 +0800

    [SCB-1450] change servicecomb.service.registry.client.workerPoolSize to servicecomb.service.registry.client.instance for workerPoolSize can not indicate how many verticle instances had been deployed.
---
 .../serviceregistry/config/ServiceRegistryConfig.java | 19 ++++++++++---------
 .../config/TestServiceRegistryConfig.java             |  2 +-
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
index 98e126d..13a19e9 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
@@ -109,22 +109,23 @@ public final class ServiceRegistryConfig {
     return HttpVersion.valueOf(property.get());
   }
 
-  public int getWorkerPoolSize() {
-    String workerPoolSizeKey = "servicecomb.service.registry.client.workerPoolSize";
+  public int getInstances() {
+    String instances = "servicecomb.service.registry.client.instances ";
     DynamicIntProperty property =
-        DynamicPropertyFactory.getInstance()
-            .getIntProperty(workerPoolSizeKey, 1);
-    int workerPoolSize = property.get();
-    if (workerPoolSize <= 0) {
+            DynamicPropertyFactory.getInstance()
+                    .getIntProperty(instances, 1);
+    int deployInstances = property.get();
+    if (deployInstances <= 0) {
       int nAvailableProcessors = Runtime.getRuntime().availableProcessors();
       LOGGER.warn("The property `{}` must be positive integer, fallback to use number of available processors: {}",
-          workerPoolSizeKey,
-          nAvailableProcessors);
+              instances,
+              nAvailableProcessors);
       return nAvailableProcessors;
     }
-    return workerPoolSize;
+    return deployInstances;
   }
 
+
   public boolean isSsl() {
     getIpPort();
     return this.ssl;
diff --git a/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/config/TestServiceRegistryConfig.java b/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/config/TestServiceRegistryConfig.java
index 899cea8..061c2e9 100644
--- a/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/config/TestServiceRegistryConfig.java
+++ b/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/config/TestServiceRegistryConfig.java
@@ -52,7 +52,7 @@ public class TestServiceRegistryConfig {
     Assert.assertNotEquals(null, oConfig.getHeartbeatInterval());
     Assert.assertEquals("HTTP_1_1", oConfig.getHttpVersion().name());
     Assert.assertEquals("rest", oConfig.getTransport());
-    Assert.assertEquals(1, oConfig.getWorkerPoolSize());
+    Assert.assertEquals(1, oConfig.getInstances());
     Assert.assertTrue(oConfig.isSsl());
     Assert.assertEquals(30000, oConfig.getRequestTimeout());
     Assert.assertEquals(3000, oConfig.getHeartBeatRequestTimeout());


[servicecomb-java-chassis] 03/03: [SCB-1450] fix code review comments

Posted by ya...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 686395ad888414e0e4079892a03e0d7ea304e108
Author: Liu Huaizhou <li...@163.com>
AuthorDate: Mon Aug 26 16:52:03 2019 +0800

    [SCB-1450] fix code review comments
---
 .../client/http/AbstractClientPool.java            | 20 +++++-------------
 .../client/http/HttpClientPool.java                |  4 ++--
 .../client/http/WebsocketClientPool.java           |  2 +-
 .../config/ServiceRegistryConfig.java              | 24 ++++++++++++++++------
 4 files changed, 26 insertions(+), 24 deletions(-)

diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/AbstractClientPool.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/AbstractClientPool.java
index 846fea8..5992c05 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/AbstractClientPool.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/AbstractClientPool.java
@@ -41,17 +41,7 @@ import io.vertx.core.http.HttpClientOptions;
 public abstract class AbstractClientPool implements ClientPool {
   private static final Logger LOGGER = LoggerFactory.getLogger(AbstractClientPool.class);
 
-  protected static final String SSL_KEY = "sc.consumer";
-
-  public static final String PROXY_KEY = "sc.consumer";
-
-  private static final String EVENT_LOOP_POOL_SIZE = "servicecomb.service.registry.client.eventLoopPoolSize";
-
-  private static final String WORKER_POOL_SIZE = "servicecomb.service.registry.client.workerPoolSize";
-
-  private static final String WORKER_POOL_NAME = "registry-vert.x-worker-thread";
-
-  private ClientPoolManager<HttpClientWithContext> clientMgr;
+    private ClientPoolManager<HttpClientWithContext> clientMgr;
 
   public AbstractClientPool() {
     create();
@@ -64,12 +54,12 @@ public abstract class AbstractClientPool implements ClientPool {
   }
 
   public void create() {
-    DynamicIntProperty property = DynamicPropertyFactory.getInstance().getIntProperty(EVENT_LOOP_POOL_SIZE, 4);
-    DynamicIntProperty workerPoolSize = DynamicPropertyFactory.getInstance().getIntProperty(WORKER_POOL_SIZE, 4);
+    DynamicIntProperty property = DynamicPropertyFactory.getInstance().getIntProperty(ServiceRegistryConfig.EVENT_LOOP_POOL_SIZE, 4);
+    DynamicIntProperty workerPoolSize = DynamicPropertyFactory.getInstance().getIntProperty(ServiceRegistryConfig.WORKER_POOL_SIZE, 4);
 
     // 这里面是同步接口,且好像直接在事件线程中用,保险起见,先使用独立的vertx实例
     VertxOptions vertxOptions = new VertxOptions()
-            .setAddressResolverOptions(AddressResolverConfig.getAddressResover(SSL_KEY))
+            .setAddressResolverOptions(AddressResolverConfig.getAddressResover(ServiceRegistryConfig.SSL_KEY))
             .setEventLoopPoolSize(property.get());
     Vertx vertx = VertxUtils.getOrCreateVertxByName("registry", vertxOptions);
     HttpClientOptions httpClientOptions = createHttpClientOptions();
@@ -78,7 +68,7 @@ public abstract class AbstractClientPool implements ClientPool {
     DeploymentOptions deployOptions = VertxUtils.createClientDeployOptions(this.clientMgr,
             ServiceRegistryConfig.INSTANCE.getInstances())
             .setWorker(isWorker())
-            .setWorkerPoolName(WORKER_POOL_NAME)
+            .setWorkerPoolName(ServiceRegistryConfig.WORKER_POOL_NAME)
             .setWorkerPoolSize(workerPoolSize.get());
     try {
       VertxUtils.blockDeploy(vertx, ClientVerticle.class, deployOptions);
diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/HttpClientPool.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/HttpClientPool.java
index 71b400b..a313669 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/HttpClientPool.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/HttpClientPool.java
@@ -56,7 +56,7 @@ public final class HttpClientPool extends AbstractClientPool {
       proxy.setHost(ServiceRegistryConfig.INSTANCE.getProxyHost());
       proxy.setPort(ServiceRegistryConfig.INSTANCE.getProxyPort());
       proxy.setUsername(ServiceRegistryConfig.INSTANCE.getProxyUsername());
-      proxy.setPassword(Encryptions.decode(ServiceRegistryConfig.INSTANCE.getProxyPasswd(), PROXY_KEY));
+      proxy.setPassword(Encryptions.decode(ServiceRegistryConfig.INSTANCE.getProxyPasswd(), ServiceRegistryConfig.PROXY_KEY));
       httpClientOptions.setProxyOptions(proxy);
     }
     if (ver == HttpVersion.HTTP_2) {
@@ -65,7 +65,7 @@ public final class HttpClientPool extends AbstractClientPool {
     }
     if (ServiceRegistryConfig.INSTANCE.isSsl()) {
       LOGGER.debug("service center client performs requests over TLS");
-      VertxTLSBuilder.buildHttpClientOptions(SSL_KEY, httpClientOptions);
+      VertxTLSBuilder.buildHttpClientOptions(ServiceRegistryConfig.SSL_KEY, httpClientOptions);
     }
     return httpClientOptions;
   }
diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/WebsocketClientPool.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/WebsocketClientPool.java
index 3242043..2c96f5b 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/WebsocketClientPool.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/WebsocketClientPool.java
@@ -55,7 +55,7 @@ public final class WebsocketClientPool extends AbstractClientPool {
     }
     if (ServiceRegistryConfig.INSTANCE.isSsl()) {
       LOGGER.debug("service center ws client performs requests over TLS");
-      VertxTLSBuilder.buildHttpClientOptions(SSL_KEY, httpClientOptions);
+      VertxTLSBuilder.buildHttpClientOptions(ServiceRegistryConfig.SSL_KEY, httpClientOptions);
     }
     return httpClientOptions;
   }
diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
index 13a19e9..dc5847a 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/config/ServiceRegistryConfig.java
@@ -87,6 +87,18 @@ public final class ServiceRegistryConfig {
 
   public static final String PROXY_PASSWD = PROXY_PRE_NAME + "passwd";
 
+  public static final String SSL_KEY = "sc.consumer";
+
+  public static final String PROXY_KEY = "sc.consumer";
+
+  public static final String VERTICLE_INSTANCES = "servicecomb.service.registry.client.instances";
+
+  public static final String EVENT_LOOP_POOL_SIZE = "servicecomb.service.registry.client.eventLoopPoolSize";
+
+  public static final String WORKER_POOL_SIZE = "servicecomb.service.registry.client.workerPoolSize";
+
+  public static final String WORKER_POOL_NAME = "registry-vert.x-worker-thread";
+
   private ServiceRegistryConfig() {
 
   }
@@ -110,16 +122,15 @@ public final class ServiceRegistryConfig {
   }
 
   public int getInstances() {
-    String instances = "servicecomb.service.registry.client.instances ";
     DynamicIntProperty property =
-            DynamicPropertyFactory.getInstance()
-                    .getIntProperty(instances, 1);
+        DynamicPropertyFactory.getInstance()
+            .getIntProperty(VERTICLE_INSTANCES, 1);
     int deployInstances = property.get();
     if (deployInstances <= 0) {
       int nAvailableProcessors = Runtime.getRuntime().availableProcessors();
       LOGGER.warn("The property `{}` must be positive integer, fallback to use number of available processors: {}",
-              instances,
-              nAvailableProcessors);
+          VERTICLE_INSTANCES,
+          nAvailableProcessors);
       return nAvailableProcessors;
     }
     return deployInstances;
@@ -132,7 +143,8 @@ public final class ServiceRegistryConfig {
   }
 
   public ArrayList<IpPort> getIpPort() {
-    List<String> uriList = Deployment.getSystemBootStrapInfo(DeploymentProvider.SYSTEM_KEY_SERVICE_CENTER).getAccessURL();
+    List<String> uriList = Deployment.getSystemBootStrapInfo(DeploymentProvider.SYSTEM_KEY_SERVICE_CENTER)
+        .getAccessURL();
     ArrayList<IpPort> ipPortList = new ArrayList<>();
     uriList.forEach(anUriList -> {
       try {


[servicecomb-java-chassis] 01/03: [SCB-1450] Change Registry WebsocketClient work module to a worker verticle, So it can support blocking-task, like Service Center watching task.

Posted by ya...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 1e16ca4d5a151e126b6071dcdd1e8d75669573cd
Author: Liuhuaizhou <li...@163.com>
AuthorDate: Tue Aug 20 14:45:45 2019 +0800

    [SCB-1450] Change Registry WebsocketClient work module  to a worker verticle,So it can support blocking-task,like Service Center watching task.
---
 .../client/http/AbstractClientPool.java            | 27 ++++++++++++++++++----
 .../client/http/HttpClientPool.java                |  5 ++++
 .../client/http/WebsocketClientPool.java           |  5 ++++
 3 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/AbstractClientPool.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/AbstractClientPool.java
index a631b96..846fea8 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/AbstractClientPool.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/AbstractClientPool.java
@@ -17,6 +17,9 @@
 
 package org.apache.servicecomb.serviceregistry.client.http;
 
+import com.netflix.config.DynamicIntProperty;
+import com.netflix.config.DynamicPropertyFactory;
+
 import org.apache.servicecomb.foundation.vertx.AddressResolverConfig;
 import org.apache.servicecomb.foundation.vertx.VertxUtils;
 import org.apache.servicecomb.foundation.vertx.client.ClientPoolManager;
@@ -42,27 +45,41 @@ public abstract class AbstractClientPool implements ClientPool {
 
   public static final String PROXY_KEY = "sc.consumer";
 
+  private static final String EVENT_LOOP_POOL_SIZE = "servicecomb.service.registry.client.eventLoopPoolSize";
+
+  private static final String WORKER_POOL_SIZE = "servicecomb.service.registry.client.workerPoolSize";
+
+  private static final String WORKER_POOL_NAME = "registry-vert.x-worker-thread";
+
   private ClientPoolManager<HttpClientWithContext> clientMgr;
 
   public AbstractClientPool() {
     create();
   }
 
+  protected abstract boolean isWorker();
+
   public HttpClientWithContext getClient() {
     return this.clientMgr.findThreadBindClientPool();
   }
 
   public void create() {
+    DynamicIntProperty property = DynamicPropertyFactory.getInstance().getIntProperty(EVENT_LOOP_POOL_SIZE, 4);
+    DynamicIntProperty workerPoolSize = DynamicPropertyFactory.getInstance().getIntProperty(WORKER_POOL_SIZE, 4);
+
     // 这里面是同步接口,且好像直接在事件线程中用,保险起见,先使用独立的vertx实例
-    VertxOptions vertxOptions = new VertxOptions();
-    vertxOptions.setAddressResolverOptions(AddressResolverConfig.getAddressResover(SSL_KEY));
+    VertxOptions vertxOptions = new VertxOptions()
+            .setAddressResolverOptions(AddressResolverConfig.getAddressResover(SSL_KEY))
+            .setEventLoopPoolSize(property.get());
     Vertx vertx = VertxUtils.getOrCreateVertxByName("registry", vertxOptions);
     HttpClientOptions httpClientOptions = createHttpClientOptions();
     clientMgr = new ClientPoolManager<>(vertx, new HttpClientPoolFactory(httpClientOptions));
 
-    DeploymentOptions deployOptions =
-        VertxUtils.createClientDeployOptions(this.clientMgr,
-            ServiceRegistryConfig.INSTANCE.getWorkerPoolSize());
+    DeploymentOptions deployOptions = VertxUtils.createClientDeployOptions(this.clientMgr,
+            ServiceRegistryConfig.INSTANCE.getInstances())
+            .setWorker(isWorker())
+            .setWorkerPoolName(WORKER_POOL_NAME)
+            .setWorkerPoolSize(workerPoolSize.get());
     try {
       VertxUtils.blockDeploy(vertx, ClientVerticle.class, deployOptions);
     } catch (InterruptedException e) {
diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/HttpClientPool.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/HttpClientPool.java
index efbee4c..71b400b 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/HttpClientPool.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/HttpClientPool.java
@@ -40,6 +40,11 @@ public final class HttpClientPool extends AbstractClientPool {
   }
 
   @Override
+  protected boolean isWorker() {
+    return false;
+  }
+
+  @Override
   public HttpClientOptions createHttpClientOptions() {
     HttpVersion ver = ServiceRegistryConfig.INSTANCE.getHttpVersion();
     HttpClientOptions httpClientOptions = new HttpClientOptions();
diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/WebsocketClientPool.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/WebsocketClientPool.java
index a8b14ab..3242043 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/WebsocketClientPool.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/WebsocketClientPool.java
@@ -38,6 +38,11 @@ public final class WebsocketClientPool extends AbstractClientPool {
   }
 
   @Override
+  protected boolean isWorker() {
+    return true;
+  }
+
+  @Override
   public HttpClientOptions createHttpClientOptions() {
     HttpVersion ver = ServiceRegistryConfig.INSTANCE.getHttpVersion();
     HttpClientOptions httpClientOptions = new HttpClientOptions();