From ab398f79c91c25e46477e26bbac3593277c5e193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E5=8B=87=E5=8D=87=20pengys?= <8082209@qq.com> Date: Mon, 11 Mar 2019 16:34:30 +0800 Subject: [PATCH] The role of OAP server. (#2344) * The role of OAP server. Mixed: Receive agent data, level 1 aggregate, level 2 aggregate Receiver: Receive agent data, level 1 aggregate Aggregator: level 2 aggregate * Mistake, stadalone default. * Update application.yml --- docker/config/application.yml | 4 ++++ .../apache/skywalking/oap/server/core/CoreModuleConfig.java | 5 +++++ .../skywalking/oap/server/core/CoreModuleProvider.java | 6 ++++-- oap-server/server-starter/src/main/assembly/application.yml | 4 ++++ .../server-starter/src/main/resources/application.yml | 4 ++++ 5 files changed, 21 insertions(+), 2 deletions(-) diff --git a/docker/config/application.yml b/docker/config/application.yml index 4090e0f3e..278c0b3bd 100644 --- a/docker/config/application.yml +++ b/docker/config/application.yml @@ -35,6 +35,10 @@ cluster: # hostPort: ${SW_CLUSTER_CONSUL_HOST_PORT:localhost:8500} core: default: + # Mixed: Receive agent data, Level 1 aggregate, Level 2 aggregate + # Receiver: Receive agent data, Level 1 aggregate + # Aggregator: Level 2 aggregate + role: ${SW_CORE_ROLE:Mixed} # Mixed/Receiver/Aggregator restHost: ${SW_CORE_REST_HOST:0.0.0.0} restPort: ${SW_CORE_REST_PORT:12800} restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/} diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleConfig.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleConfig.java index 453253a74..35e3b4936 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleConfig.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleConfig.java @@ -27,6 +27,7 @@ import org.apache.skywalking.oap.server.library.module.ModuleConfig; */ @Getter public class CoreModuleConfig extends ModuleConfig { + @Setter private String role; @Setter private String nameSpace; @Setter private String restHost; @Setter private int restPort; @@ -56,4 +57,8 @@ public class CoreModuleConfig extends ModuleConfig { dataTTL.setMonthMetricsDataTTL(monthMetricsDataTTL); return dataTTL; } + + public enum Role { + Mixed, Receiver, Aggregator + } } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java index cb4160b2b..52063c0d8 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java @@ -176,8 +176,10 @@ public class CoreModuleProvider extends ModuleProvider { throw new ModuleStartException(e.getMessage(), e); } - RemoteInstance gRPCServerInstance = new RemoteInstance(new Address(moduleConfig.getGRPCHost(), moduleConfig.getGRPCPort(), true)); - this.getManager().find(ClusterModule.NAME).provider().getService(ClusterRegister.class).registerRemote(gRPCServerInstance); + if (CoreModuleConfig.Role.Mixed.name().equals(moduleConfig.getRole()) || CoreModuleConfig.Role.Aggregator.name().equals(moduleConfig.getRole())) { + RemoteInstance gRPCServerInstance = new RemoteInstance(new Address(moduleConfig.getGRPCHost(), moduleConfig.getGRPCPort(), true)); + this.getManager().find(ClusterModule.NAME).provider().getService(ClusterRegister.class).registerRemote(gRPCServerInstance); + } PersistenceTimer.INSTANCE.start(getManager()); diff --git a/oap-server/server-starter/src/main/assembly/application.yml b/oap-server/server-starter/src/main/assembly/application.yml index b6d963916..758d8490e 100644 --- a/oap-server/server-starter/src/main/assembly/application.yml +++ b/oap-server/server-starter/src/main/assembly/application.yml @@ -35,6 +35,10 @@ cluster: # hostPort: ${SW_CLUSTER_CONSUL_HOST_PORT:localhost:8500} core: default: + # Mixed: Receive agent data, Level 1 aggregate, Level 2 aggregate + # Receiver: Receive agent data, Level 1 aggregate + # Aggregator: Level 2 aggregate + role: ${SW_CORE_ROLE:Mixed} # Mixed/Receiver/Aggregator restHost: ${SW_CORE_REST_HOST:0.0.0.0} restPort: ${SW_CORE_REST_PORT:12800} restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/} diff --git a/oap-server/server-starter/src/main/resources/application.yml b/oap-server/server-starter/src/main/resources/application.yml index 4309e3762..bf0d748ca 100644 --- a/oap-server/server-starter/src/main/resources/application.yml +++ b/oap-server/server-starter/src/main/resources/application.yml @@ -35,6 +35,10 @@ cluster: # hostPort: ${SW_CLUSTER_CONSUL_HOST_PORT:localhost:8500} core: default: + # Mixed: Receive agent data, Level 1 aggregate, Level 2 aggregate + # Receiver: Receive agent data, Level 1 aggregate + # Aggregator: Level 2 aggregate + role: ${SW_CORE_ROLE:Mixed} # Mixed/Receiver/Aggregator restHost: ${SW_CORE_REST_HOST:0.0.0.0} restPort: ${SW_CORE_REST_PORT:12800} restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/}