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

peacewong pushed a commit to branch dev-1.3.2
in repository https://gitbox.apache.org/repos/asf/linkis.git


The following commit(s) were added to refs/heads/dev-1.3.2 by this push:
     new 2ff576ba6 feat: replace the eureka with spring discovery client (#3808)
2ff576ba6 is described below

commit 2ff576ba6caf78033223d2bd319721faf46e41b4
Author: Jack Xu <[email protected]>
AuthorDate: Tue Feb 7 20:11:44 2023 +0800

    feat: replace the eureka with spring discovery client (#3808)
---
 .../linkis-engineconn-manager-server.md            |  1 -
 .../apache/linkis/common/conf/Configuration.scala  |  5 +-
 .../org/apache/linkis/common/utils/Utils.scala     |  3 +-
 .../apache/linkis/DataWorkCloudApplication.java    |  7 +--
 .../apache/linkis/restful/CommonRestfulApi.java    |  9 +--
 .../apache/linkis/rpc/conf/RPCConfiguration.scala  | 10 +--
 .../linkis/rpc/conf/RPCSpringConfiguration.scala   |  9 ++-
 .../linkis/rpc/interceptor/RPCServerLoader.scala   | 17 ------
 .../sender/eureka/EurekaClientRefreshUtils.scala   | 71 ----------------------
 .../rpc/sender/eureka/EurekaRPCServerLoader.scala  | 57 -----------------
 .../rpc/sender/spring/SpringRPCServerLoader.scala  | 29 ++++-----
 .../ecm/core/launch/ProcessEngineConnLaunch.scala  | 41 +++----------
 .../linkis/ecm/server/conf/ECMConfiguration.scala  |  3 -
 .../impl/BmlResourceLocalizationService.scala      | 17 +++---
 .../impl/LinuxProcessEngineConnLaunchService.scala | 12 +---
 .../upstream/access/ECTaskEntranceInfoAccess.scala | 44 +++++---------
 .../common/launch/process/Environment.scala        |  2 +-
 .../JavaProcessEngineConnLaunchBuilder.scala       |  4 +-
 .../am/service/monitor/NodeHeartbeatMonitor.scala  | 16 +++--
 linkis-dist/bin/install.sh                         | 23 +++++--
 ...ation-linkis.yml => application-engineconn.yml} | 32 +++++-----
 linkis-dist/package/conf/application-eureka.yml    |  8 +--
 linkis-dist/package/conf/application-linkis.yml    | 11 ++++
 linkis-dist/package/conf/linkis.properties         |  8 +--
 linkis-dist/package/sbin/ext/linkis-common-start   |  6 --
 linkis-dist/package/sbin/ext/linkis-mg-eureka      | 10 ---
 linkis-dist/package/sbin/ext/linkis-mg-gateway     |  9 ---
 .../impl/InstanceAliasManagerImpl.scala            |  4 +-
 ....scala => SpringCloudInstanceLabelClient.scala} |  6 +-
 .../instance/label/InsLabelAutoConfiguration.java  | 30 +++------
 .../linkis/instance/label/conf/InsLabelConf.java   |  7 +--
 .../instance/label/restful/InstanceRestful.java    | 23 ++++---
 .../label/service/impl/DefaultInsLabelService.java | 65 ++++++--------------
 .../impl/DefaultInsLabelServiceAdapter.java        |  3 +
 ...abelService.java => SpringInsLabelService.java} |  6 +-
 .../linkis/eureka/conf/EurekaSecurityConfig.java   | 32 ----------
 linkis-web/package.json                            |  2 +-
 linkis-web/src/apps/linkis/i18n/common/en.json     |  2 +-
 linkis-web/src/apps/linkis/i18n/common/zh.json     |  2 +-
 .../linkis/module/microServiceManagement/index.vue |  6 +-
 40 files changed, 194 insertions(+), 458 deletions(-)

diff --git a/docs/configuration/linkis-engineconn-manager-server.md 
b/docs/configuration/linkis-engineconn-manager-server.md
index efd9e0794..825ea49c5 100644
--- a/docs/configuration/linkis-engineconn-manager-server.md
+++ b/docs/configuration/linkis-engineconn-manager-server.md
@@ -22,7 +22,6 @@
 |linkis-engineconn-manager-server|wds.linkis.engineconn.root.dir| |root.dir|
 |linkis-engineconn-manager-server|wds.linkis.engineconn.public.dir|   
|ngineconn.public.dir|
 |linkis-engineconn-manager-server|wds.linkis.ecm.launch.max.thread.size| 
100|thread.size|
-|linkis-engineconn-manager-server|wds.linkis.eureka.defaultZone| 
http://127.0.0.1:20303/eureka/ |eureka.defaultZone|
 |linkis-engineconn-manager-server|wds.linkis.ecm.engineconn.create.duration| 
1000 * 60 * 10 |engineconn.create.duration|
 |linkis-engineconn-manager-server|wds.linkis.engineconn.wait.callback.pid|3s 
|wait.callback.pid|
 
|linkis-engineconn-manager-server|wds.linkis.ecm.engine.start.error.msg.max.len|
  500 |msg.max.len|
diff --git 
a/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/conf/Configuration.scala
 
b/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/conf/Configuration.scala
index dbbed5269..a23a9fcae 100644
--- 
a/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/conf/Configuration.scala
+++ 
b/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/conf/Configuration.scala
@@ -54,7 +54,10 @@ object Configuration extends Logging {
     CommonVars("wds.linkis.console.variable.application.name", 
"linkis-ps-publicservice")
 
   // read from env
-  val EUREKA_PREFER_IP: Boolean = CommonVars("EUREKA_PREFER_IP", 
false).getValue
+  val PREFER_IP_ADDRESS: Boolean = CommonVars(
+    "linkis.discovery.prefer-ip-address",
+    CommonVars("EUREKA_PREFER_IP", false).getValue
+  ).getValue
 
   val GOVERNANCE_STATION_ADMIN = 
CommonVars("wds.linkis.governance.station.admin", "hadoop")
 
diff --git 
a/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/utils/Utils.scala
 
b/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/utils/Utils.scala
index 4ef8177df..3d3bc636a 100644
--- 
a/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/utils/Utils.scala
+++ 
b/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/utils/Utils.scala
@@ -25,6 +25,7 @@ import org.apache.linkis.common.exception.{
 }
 
 import org.apache.commons.io.IOUtils
+import org.apache.commons.lang3.SystemUtils
 
 import java.io.{BufferedReader, InputStreamReader}
 import java.net.InetAddress
@@ -206,7 +207,7 @@ object Utils extends Logging {
   def getLocalHostname: String = InetAddress.getLocalHost.getHostAddress
 
   def getComputerName: String =
-    Utils.tryCatch(InetAddress.getLocalHost.getCanonicalHostName)(t => 
sys.env("COMPUTERNAME"))
+    Utils.tryCatch(InetAddress.getLocalHost.getCanonicalHostName)(_ => 
SystemUtils.getHostName)
 
   /**
    * Checks if event has occurred during some time period. This performs an 
exponential backoff to
diff --git 
a/linkis-commons/linkis-module/src/main/java/org/apache/linkis/DataWorkCloudApplication.java
 
b/linkis-commons/linkis-module/src/main/java/org/apache/linkis/DataWorkCloudApplication.java
index 24024f20f..cc35c0b19 100644
--- 
a/linkis-commons/linkis-module/src/main/java/org/apache/linkis/DataWorkCloudApplication.java
+++ 
b/linkis-commons/linkis-module/src/main/java/org/apache/linkis/DataWorkCloudApplication.java
@@ -143,12 +143,11 @@ public class DataWorkCloudApplication extends 
SpringBootServletInitializer {
 
   private static void initDWCApplication() {
     String hostName = Utils.getComputerName();
-    boolean eurekaPreferIp = Configuration.EUREKA_PREFER_IP();
-    if (eurekaPreferIp) {
+    boolean preferIpAddress = Configuration.PREFER_IP_ADDRESS();
+    if (preferIpAddress) {
       hostName = 
applicationContext.getEnvironment().getProperty("spring.cloud.client.ip-address");
       logger.info(
-          "using ip address replace hostname,beacause 
eureka.instance.prefer-ip-address:"
-              + eurekaPreferIp);
+          "using ip address replace hostname, because 
linkis.discovery.prefer-ip-address: true");
     }
     serviceInstance = new ServiceInstance();
     serviceInstance.setApplicationName(
diff --git 
a/linkis-commons/linkis-module/src/main/java/org/apache/linkis/restful/CommonRestfulApi.java
 
b/linkis-commons/linkis-module/src/main/java/org/apache/linkis/restful/CommonRestfulApi.java
index 54d8188b8..fc845b0db 100644
--- 
a/linkis-commons/linkis-module/src/main/java/org/apache/linkis/restful/CommonRestfulApi.java
+++ 
b/linkis-commons/linkis-module/src/main/java/org/apache/linkis/restful/CommonRestfulApi.java
@@ -21,14 +21,14 @@ import org.apache.linkis.server.Message;
 import org.apache.linkis.server.utils.ModuleUserUtils;
 
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cloud.client.discovery.DiscoveryClient;
+import org.springframework.cloud.client.serviceregistry.Registration;
+import org.springframework.cloud.client.serviceregistry.ServiceRegistry;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
 
-import com.netflix.discovery.DiscoveryManager;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
@@ -36,13 +36,14 @@ import io.swagger.annotations.ApiOperation;
 @RestController
 @RequestMapping(path = "/")
 public class CommonRestfulApi {
-  @Autowired private DiscoveryClient client;
+  @Autowired private ServiceRegistry serviceRegistry;
+  @Autowired private Registration registration;
 
   @ApiOperation(value = "Offline", notes = "offline this service", response = 
Message.class)
   @RequestMapping(path = "/offline", method = RequestMethod.GET)
   public Message offline(HttpServletRequest req) {
     ModuleUserUtils.getOperationUser(req, "offline");
-    DiscoveryManager.getInstance().shutdownComponent();
+    serviceRegistry.deregister(registration);
     return Message.ok().data("msg", "Offline successfully.");
   }
 }
diff --git 
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCConfiguration.scala
 
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCConfiguration.scala
index 5f6a06569..fb3074dc6 100644
--- 
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCConfiguration.scala
+++ 
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCConfiguration.scala
@@ -27,11 +27,11 @@ object RPCConfiguration {
   val BDP_RPC_BROADCAST_THREAD_SIZE: CommonVars[Integer] =
     CommonVars("wds.linkis.rpc.broadcast.thread.num", 25)
 
-  val BDP_RPC_EUREKA_SERVICE_REFRESH_INTERVAL: CommonVars[TimeType] =
-    CommonVars("wds.linkis.rpc.eureka.client.refresh.interval", new 
TimeType("1s"))
-
-  val BDP_RPC_EUREKA_SERVICE_REFRESH_MAX_WAIT_TIME: CommonVars[TimeType] =
-    CommonVars("wds.linkis.rpc.eureka.client.refresh.wait.time.max", new 
TimeType("30s"))
+  val RPC_SERVICE_REFRESH_MAX_WAIT_TIME: CommonVars[TimeType] =
+    CommonVars(
+      "linkis.rpc.client.refresh.wait.time.max",
+      CommonVars("wds.linkis.rpc.eureka.client.refresh.wait.time.max", new 
TimeType("30s")).getValue
+    )
 
   val BDP_RPC_RECEIVER_ASYN_CONSUMER_THREAD_MAX: CommonVars[Int] =
     CommonVars("wds.linkis.rpc.receiver.asyn.consumer.thread.max", 400)
diff --git 
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCSpringConfiguration.scala
 
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCSpringConfiguration.scala
index 3e78671af..188490914 100644
--- 
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCSpringConfiguration.scala
+++ 
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCSpringConfiguration.scala
@@ -21,7 +21,7 @@ import org.apache.linkis.DataWorkCloudApplication
 import org.apache.linkis.common.utils.Logging
 import org.apache.linkis.rpc.RPCReceiveRestful
 import org.apache.linkis.rpc.interceptor.RPCServerLoader
-import org.apache.linkis.rpc.sender.eureka.EurekaRPCServerLoader
+import org.apache.linkis.rpc.sender.spring.SpringRPCServerLoader
 import org.apache.linkis.server.conf.ServerConfiguration
 
 import org.apache.commons.lang3.StringUtils
@@ -31,20 +31,19 @@ import org.springframework.boot.autoconfigure.condition.{
   ConditionalOnMissingBean
 }
 import org.springframework.boot.context.event.ApplicationPreparedEvent
+import org.springframework.cloud.client.discovery.DiscoveryClient
 import org.springframework.cloud.openfeign.EnableFeignClients
 import org.springframework.context.annotation.{Bean, Configuration}
 import org.springframework.context.event.EventListener
 
-import com.netflix.discovery.EurekaClient
-
 @Configuration
 @EnableFeignClients
 class RPCSpringConfiguration extends Logging {
 
   @Bean(Array("rpcServerLoader"))
-  @ConditionalOnClass(Array(classOf[EurekaClient]))
+  @ConditionalOnClass(Array(classOf[DiscoveryClient]))
   @ConditionalOnMissingBean
-  def createRPCServerLoader(): RPCServerLoader = new EurekaRPCServerLoader
+  def createRPCServerLoader(): RPCServerLoader = new SpringRPCServerLoader
 
   @EventListener
   def completeInitialize(applicationPreparedEvent: ApplicationPreparedEvent): 
Unit = {
diff --git 
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/interceptor/RPCServerLoader.scala
 
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/interceptor/RPCServerLoader.scala
index d3e42229e..8cab6d7d0 100644
--- 
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/interceptor/RPCServerLoader.scala
+++ 
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/interceptor/RPCServerLoader.scala
@@ -108,23 +108,6 @@ abstract class AbstractRPCServerLoader extends 
RPCServerLoader with Logging {
       serviceInstance
     )
     lb.getAllServers.asScala.find(_.getHostPort == 
serviceInstance.getInstance).get
-//    {
-//      var servers = lb.getAllServers
-//      val instanceNotExists = new NoInstanceExistsException(10051, "The 
instance " +
-//        serviceInstance.getInstance + " of application " + 
serviceInstance.getApplicationName + " does not exist.")
-//      var server = servers.find(_.getHostPort == serviceInstance.getInstance)
-//      if(server.isEmpty) Utils.tryThrow(Utils.waitUntil(() =>{
-//        refreshServerList(lb)
-//        servers = lb.getAllServers
-//        server = servers.find(_.getHostPort == serviceInstance.getInstance)
-//        if(server.isEmpty) info(s"Need a $serviceInstance, but cannot find 
in eureka refresh list ${servers.map(_.getHostPort).toList}.")
-//        server.isDefined
-//      }, refreshMaxWaitTime, 500, 2000)) { t =>
-//        instanceNotExists.initCause(t)
-//        instanceNotExists
-//      }
-//      server.getOrElse(throw instanceNotExists)
-//    }
   }
 
   def getDWCServiceInstance(serviceInstance: SpringCloudServiceInstance): 
ServiceInstance
diff --git 
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/eureka/EurekaClientRefreshUtils.scala
 
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/eureka/EurekaClientRefreshUtils.scala
deleted file mode 100644
index 1869778f4..000000000
--- 
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/eureka/EurekaClientRefreshUtils.scala
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.linkis.rpc.sender.eureka
-
-import org.apache.linkis.rpc.conf.RPCConfiguration
-import org.apache.linkis.server.utils.AopTargetUtils
-
-import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.context.annotation.Configuration
-
-import javax.annotation.PostConstruct
-
-import com.netflix.discovery.{DiscoveryClient => NetflixDiscoveryClient, 
EurekaClient}
-
-@Configuration
-class EurekaClientRefreshUtils {
-
-  @Autowired
-  private var eurekaClient: EurekaClient = _
-
-  private var eurekaClientLastRefreshTime = 0L
-
-  val serviceRefreshInterval =
-    RPCConfiguration.BDP_RPC_EUREKA_SERVICE_REFRESH_INTERVAL.getValue.toLong
-
-  private[eureka] def refreshEurekaClient(): Unit =
-    if (System.currentTimeMillis - eurekaClientLastRefreshTime > 
serviceRefreshInterval) {
-      synchronized {
-        if (System.currentTimeMillis - eurekaClientLastRefreshTime < 
serviceRefreshInterval) {
-          return
-        }
-        eurekaClientLastRefreshTime = System.currentTimeMillis
-        eurekaClient match {
-          case disClient: NetflixDiscoveryClient =>
-            val refreshRegistry =
-              
classOf[NetflixDiscoveryClient].getDeclaredMethod("refreshRegistry")
-            refreshRegistry.setAccessible(true)
-            refreshRegistry.invoke(disClient)
-            Thread.sleep(100)
-          case _ =>
-        }
-      }
-    }
-
-  @PostConstruct
-  def storeEurekaClientRefreshUtils(): Unit = {
-    eurekaClient = 
AopTargetUtils.getTarget(eurekaClient).asInstanceOf[EurekaClient]
-    EurekaClientRefreshUtils.eurekaClientRefreshUtils = this
-  }
-
-}
-
-object EurekaClientRefreshUtils {
-  private var eurekaClientRefreshUtils: EurekaClientRefreshUtils = _
-  def apply(): EurekaClientRefreshUtils = eurekaClientRefreshUtils
-}
diff --git 
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/eureka/EurekaRPCServerLoader.scala
 
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/eureka/EurekaRPCServerLoader.scala
deleted file mode 100644
index c25d4438a..000000000
--- 
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/eureka/EurekaRPCServerLoader.scala
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.linkis.rpc.sender.eureka
-
-import org.apache.linkis.common.ServiceInstance
-import org.apache.linkis.common.utils.Utils
-import org.apache.linkis.rpc.conf.RPCConfiguration
-import org.apache.linkis.rpc.interceptor.AbstractRPCServerLoader
-
-import org.springframework.cloud.netflix.eureka.EurekaServiceInstance
-
-import java.util.Locale
-
-import scala.concurrent.duration.Duration
-
-class EurekaRPCServerLoader extends AbstractRPCServerLoader {
-
-  override def refreshAllServers(): Unit =
-    Utils.tryAndWarn(EurekaClientRefreshUtils().refreshEurekaClient())
-
-  override val refreshMaxWaitTime: Duration =
-    
RPCConfiguration.BDP_RPC_EUREKA_SERVICE_REFRESH_MAX_WAIT_TIME.getValue.toDuration
-
-  override def getDWCServiceInstance(serviceInstance: 
SpringCloudServiceInstance): ServiceInstance =
-    serviceInstance match {
-      case instance: EurekaServiceInstance =>
-        val applicationName = instance.getInstanceInfo.getAppName
-        val instanceId = instance.getInstanceInfo.getInstanceId
-        ServiceInstance(applicationName, getInstance(applicationName, 
instanceId))
-    }
-
-  private[rpc] def getInstance(applicationName: String, instanceId: String): 
String =
-    if (
-        instanceId
-          .toLowerCase(Locale.getDefault)
-          .indexOf(":" + applicationName.toLowerCase(Locale.getDefault) + ":") 
> 0
-    ) {
-      val instanceInfos = instanceId.split(":")
-      instanceInfos(0) + ":" + instanceInfos(2)
-    } else instanceId
-
-}
diff --git 
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-core/src/main/scala/org/apache/linkis/ecm/core/launch/DiscoveryMsgGenerator.scala
 
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/spring/SpringRPCServerLoader.scala
similarity index 52%
rename from 
linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-core/src/main/scala/org/apache/linkis/ecm/core/launch/DiscoveryMsgGenerator.scala
rename to 
linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/spring/SpringRPCServerLoader.scala
index 7347e3531..14474217e 100644
--- 
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-core/src/main/scala/org/apache/linkis/ecm/core/launch/DiscoveryMsgGenerator.scala
+++ 
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/spring/SpringRPCServerLoader.scala
@@ -15,25 +15,26 @@
  * limitations under the License.
  */
 
-package org.apache.linkis.ecm.core.launch
+package org.apache.linkis.rpc.sender.spring
 
-import java.util
+import org.apache.linkis.common.ServiceInstance
+import org.apache.linkis.rpc.conf.RPCConfiguration
+import org.apache.linkis.rpc.interceptor.AbstractRPCServerLoader
 
-import scala.collection.JavaConverters._
+import scala.concurrent.duration.Duration
 
-trait DiscoveryMsgGenerator {
+class SpringRPCServerLoader extends AbstractRPCServerLoader {
 
-  def generate(engineConnManagerEnv: EngineConnManagerEnv): 
java.util.Map[String, String]
+  override def refreshAllServers(): Unit = {}
 
-}
-
-class EurekaDiscoveryMsgGenerator extends DiscoveryMsgGenerator {
+  override val refreshMaxWaitTime: Duration =
+    RPCConfiguration.RPC_SERVICE_REFRESH_MAX_WAIT_TIME.getValue.toDuration
 
-  override def generate(engineConnManagerEnv: EngineConnManagerEnv): 
util.Map[String, String] =
-    engineConnManagerEnv.properties
-      .get("eureka.client.serviceUrl.defaultZone")
-      .map(v => Map("eureka.client.serviceUrl.defaultZone" -> v))
-      .getOrElse[Map[String, String]](Map.empty)
-      .asJava
+  override def getDWCServiceInstance(
+      serviceInstance: SpringCloudServiceInstance
+  ): ServiceInstance = {
+    val applicationName = serviceInstance.getServiceId
+    ServiceInstance(applicationName, 
s"${serviceInstance.getHost}:${serviceInstance.getPort}")
+  }
 
 }
diff --git 
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-core/src/main/scala/org/apache/linkis/ecm/core/launch/ProcessEngineConnLaunch.scala
 
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-core/src/main/scala/org/apache/linkis/ecm/core/launch/ProcessEngineConnLaunch.scala
index 0cf9b0cb4..91aa93e5f 100644
--- 
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-core/src/main/scala/org/apache/linkis/ecm/core/launch/ProcessEngineConnLaunch.scala
+++ 
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-core/src/main/scala/org/apache/linkis/ecm/core/launch/ProcessEngineConnLaunch.scala
@@ -28,7 +28,6 @@ import org.apache.linkis.governance.common.utils.{
   EngineConnArgumentsBuilder,
   EngineConnArgumentsParser
 }
-import org.apache.linkis.manager.engineplugin.common.conf.EnvConfiguration
 import 
org.apache.linkis.manager.engineplugin.common.launch.entity.EngineConnLaunchRequest
 import org.apache.linkis.manager.engineplugin.common.launch.process.{
   Environment,
@@ -36,7 +35,6 @@ import 
org.apache.linkis.manager.engineplugin.common.launch.process.{
 }
 import 
org.apache.linkis.manager.engineplugin.common.launch.process.Environment._
 import 
org.apache.linkis.manager.engineplugin.common.launch.process.LaunchConstants._
-import org.apache.linkis.server.conf.ServerConfiguration
 
 import org.apache.commons.io.FileUtils
 import org.apache.commons.lang3.StringUtils
@@ -49,7 +47,6 @@ trait ProcessEngineConnLaunch extends EngineConnLaunch with 
Logging {
 
   private var request: ProcessEngineConnLaunchRequest = _
   private var engineConnManagerEnv: EngineConnManagerEnv = _
-  private var discoveryMsgGenerator: DiscoveryMsgGenerator = _
   private var processBuilder: ProcessEngineCommandBuilder = _
   private var preparedExecFile: String = _
   private var process: Process = _
@@ -78,9 +75,6 @@ trait ProcessEngineConnLaunch extends EngineConnLaunch with 
Logging {
 
   override def getEngineConnManagerEnv(): EngineConnManagerEnv = 
this.engineConnManagerEnv
 
-  def setDiscoveryMsgGenerator(discoveryMsgGenerator: DiscoveryMsgGenerator): 
Unit =
-    this.discoveryMsgGenerator = discoveryMsgGenerator
-
   def getEngineConnLaunchRequest: EngineConnLaunchRequest = request
 
   private def initializeEnv(): Unit = {
@@ -108,8 +102,8 @@ trait ProcessEngineConnLaunch extends EngineConnLaunch with 
Logging {
       case JAVA_HOME => putIfExists(JAVA_HOME)
       case RANDOM_PORT =>
         environment.put(RANDOM_PORT.toString, 
PortUtils.findAvailPort().toString)
-      case EUREKA_PREFER_IP =>
-        environment.put(EUREKA_PREFER_IP.toString, 
Configuration.EUREKA_PREFER_IP.toString)
+      case PREFER_IP_ADDRESS =>
+        environment.put(PREFER_IP_ADDRESS.toString, 
Configuration.PREFER_IP_ADDRESS.toString)
       case ENGINECONN_ENVKEYS =>
         environment.put(ENGINECONN_ENVKEYS.toString, 
GovernanceCommonConf.ENGINECONN_ENVKEYS)
       case _ =>
@@ -171,34 +165,15 @@ trait ProcessEngineConnLaunch extends EngineConnLaunch 
with Logging {
     engineConnPort = PortUtils
       
.findAvailPortByRange(GovernanceCommonConf.ENGINE_CONN_PORT_RANGE.getValue)
       .toString
-    var springConf = Map(
-      "spring.application.name" -> 
GovernanceCommonConf.ENGINE_CONN_SPRING_NAME.getValue,
-      "server.port" -> engineConnPort,
-      "spring.profiles.active" -> "engineconn",
-      "logging.config" -> 
s"classpath:${EnvConfiguration.LOG4J2_XML_FILE.getValue}"
-    ) ++: discoveryMsgGenerator.generate(engineConnManagerEnv).asScala
-
-    val eurekaPreferIp: Boolean = Configuration.EUREKA_PREFER_IP
-    logger.info(s"EUREKA_PREFER_IP: " + eurekaPreferIp)
-    if (eurekaPreferIp) {
-      springConf = springConf + ("eureka.instance.prefer-ip-address" -> "true")
-      springConf =
-        springConf + ("eureka.instance.instance-id" -> 
"\\${spring.cloud.client.ip-address}:\\${spring.application.name}:\\${server.port}")
-    }
-    if (Configuration.IS_PROMETHEUS_ENABLE.getValue) {
-      logger.info(s"IS_PROMETHEUS_ENABLE: true")
-      springConf =
-        springConf + ("management.endpoints.web.exposure.include" -> 
"refresh,info,health,metrics,prometheus")
-      val endpoint =
-        ServerConfiguration.BDP_SERVER_RESTFUL_URI.getValue + 
Configuration.PROMETHEUS_ENDPOINT.getValue
-      springConf =
-        springConf + ("eureka.instance.metadata-map.prometheus.path" -> 
("\\${prometheus.path:" + endpoint + "}"))
-    }
+
+    var springConf = Map("server.port" -> engineConnPort, 
"spring.profiles.active" -> "engineconn")
+
     
request.creationDesc.properties.asScala.filter(_._1.startsWith("spring.")).foreach
 {
       case (k, v) =>
-        springConf = springConf += (k -> v)
+        springConf = springConf + (k -> v)
     }
-    arguments.addSpringConf(springConf.toMap)
+
+    arguments.addSpringConf(springConf)
     var engineConnConf = Map("ticketId" -> request.ticketId, "user" -> 
request.user)
     engineConnConf = engineConnConf ++: request.labels.asScala
       .map(l => EngineConnArgumentsParser.LABEL_PREFIX + l.getLabelKey -> 
l.getStringValue)
diff --git 
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/conf/ECMConfiguration.scala
 
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/conf/ECMConfiguration.scala
index 3f0077a82..b6acc7b06 100644
--- 
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/conf/ECMConfiguration.scala
+++ 
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/conf/ECMConfiguration.scala
@@ -96,9 +96,6 @@ object ECMConfiguration {
   val ECM_LAUNCH_MAX_THREAD_SIZE: Int =
     CommonVars("wds.linkis.ecm.launch.max.thread.size", 100).getValue
 
-  val ECM_EUREKA_DEFAULTZONE: String =
-    CommonVars("wds.linkis.eureka.defaultZone", 
"http://127.0.0.1:20303/eureka/";).getValue
-
   /**
    * engineconn创建时间,如果为0,则使用ms中默认的 engineconn created time
    */
diff --git 
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/BmlResourceLocalizationService.scala
 
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/BmlResourceLocalizationService.scala
index 72cd51e39..ed1490294 100644
--- 
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/BmlResourceLocalizationService.scala
+++ 
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/BmlResourceLocalizationService.scala
@@ -97,13 +97,13 @@ class BmlResourceLocalizationService extends 
ResourceLocalizationService with Lo
             override val engineConnTempDirs: String = tmpDirs
             override val engineConnManagerHost: String = {
               var hostName = Utils.getComputerName
-              val eurekaPreferIp = Configuration.EUREKA_PREFER_IP
-              logger.info("eurekaPreferIp:" + eurekaPreferIp)
-              if (eurekaPreferIp) {
+              val preferIpAddress = Configuration.PREFER_IP_ADDRESS
+              logger.info("preferIpAddress:" + preferIpAddress)
+              if (preferIpAddress) {
                 hostName = 
springEnv.getProperty("spring.cloud.client.ip-address")
                 logger.info("hostName:" + hostName)
                 logger.info(
-                  "using ip address replace hostname,beacause 
eureka.instance.prefer-ip-address:" + eurekaPreferIp
+                  "using ip address replace hostname, because 
linkis.discovery.prefer-ip-address: true"
                 )
               }
               hostName
@@ -113,8 +113,7 @@ class BmlResourceLocalizationService extends 
ResourceLocalizationService with Lo
                 "server.port"
               )
             override val linkDirs: mutable.HashMap[String, String] = linkDirsP
-            override val properties: Map[String, String] =
-              Map("eureka.client.serviceUrl.defaultZone" -> 
ECM_EUREKA_DEFAULTZONE)
+            override val properties: Map[String, String] = Map()
           }
         )
       case _ =>
@@ -167,13 +166,15 @@ class BmlResourceLocalizationService extends 
ResourceLocalizationService with Lo
         }
         // 2.软连,并且添加到map
         val dirAndFileList = fs.listPathWithError(fsPath)
-        var paths = dirAndFileList.getFsPaths.asScala.toList
+
+        var paths = dirAndFileList.getFsPaths.asScala
+
         if (paths.exists(_.getPath.endsWith(".zip"))) {
           logger.info(s"Start to wait fs path to init ${fsPath.getPath}")
           resourceId.intern().synchronized {
             logger.info(s"Finished to wait fs path to init ${fsPath.getPath} ")
           }
-          paths = fs.listPathWithError(fsPath).getFsPaths.asScala.toList
+          paths = fs.listPathWithError(fsPath).getFsPaths.asScala
         }
         paths.foreach { path =>
           val name = new File(path.getPath).getName
diff --git 
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/LinuxProcessEngineConnLaunchService.scala
 
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/LinuxProcessEngineConnLaunchService.scala
index 63c7a928e..1929945f9 100644
--- 
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/LinuxProcessEngineConnLaunchService.scala
+++ 
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/LinuxProcessEngineConnLaunchService.scala
@@ -17,11 +17,7 @@
 
 package org.apache.linkis.ecm.server.service.impl
 
-import org.apache.linkis.ecm.core.launch.{
-  DiscoveryMsgGenerator,
-  EngineConnLaunch,
-  EurekaDiscoveryMsgGenerator
-}
+import org.apache.linkis.ecm.core.launch.EngineConnLaunch
 import org.apache.linkis.ecm.linux.launch.LinuxProcessEngineConnLaunch
 import org.apache.linkis.ecm.server.conf.ECMConfiguration._
 import org.apache.linkis.manager.common.entity.node.EngineNode
@@ -37,12 +33,8 @@ class LinuxProcessEngineConnLaunchService extends 
ProcessEngineConnLaunchService
     } else null
   }
 
-  def createDiscoveryMsgGenerator: DiscoveryMsgGenerator = new 
EurekaDiscoveryMsgGenerator
-
   override def createEngineConnLaunch: EngineConnLaunch = {
-    val launch = new LinuxProcessEngineConnLaunch
-    launch.setDiscoveryMsgGenerator(createDiscoveryMsgGenerator)
-    launch
+    new LinuxProcessEngineConnLaunch
   }
 
 }
diff --git 
a/linkis-computation-governance/linkis-engineconn/linkis-computation-engineconn/src/main/scala/org/apache/linkis/engineconn/computation/executor/upstream/access/ECTaskEntranceInfoAccess.scala
 
b/linkis-computation-governance/linkis-engineconn/linkis-computation-engineconn/src/main/scala/org/apache/linkis/engineconn/computation/executor/upstream/access/ECTaskEntranceInfoAccess.scala
index 89ae95f67..8a4fafbe0 100644
--- 
a/linkis-computation-governance/linkis-engineconn/linkis-computation-engineconn/src/main/scala/org/apache/linkis/engineconn/computation/executor/upstream/access/ECTaskEntranceInfoAccess.scala
+++ 
b/linkis-computation-governance/linkis-engineconn/linkis-computation-engineconn/src/main/scala/org/apache/linkis/engineconn/computation/executor/upstream/access/ECTaskEntranceInfoAccess.scala
@@ -26,7 +26,6 @@ import 
org.apache.linkis.engineconn.computation.executor.utlis.ComputationErrorC
 import org.apache.linkis.rpc.sender.SpringCloudFeignConfigurationCache
 
 import org.springframework.cloud.client.{ServiceInstance => 
SpringCloudServiceInstance}
-import org.springframework.cloud.netflix.eureka.EurekaServiceInstance
 
 import java.util
 import java.util.Locale
@@ -34,7 +33,7 @@ import java.util.Locale
 import scala.collection.JavaConverters._
 
 /**
- * check entrance in eureka by DiscoveryClient
+ * check entrance by DiscoveryClient
  */
 class ECTaskEntranceInfoAccess extends ConnectionInfoAccess with Logging {
   val discoveryClient = SpringCloudFeignConfigurationCache.getDiscoveryClient
@@ -60,15 +59,15 @@ class ECTaskEntranceInfoAccess extends ConnectionInfoAccess 
with Logging {
             }
           }
         })) { t =>
-          throw new EngineConnException(
+          throw EngineConnException(
             ComputationErrorCode.UPSTREAM_MONITOR_EXCEPTION,
-            "Failed to get services from eureka"
+            "Failed to get services from Service Registry"
           ).initCause(t)
         }
         if (instanceMap.size() == 0) {
-          throw new EngineConnException(
+          throw EngineConnException(
             ComputationErrorCode.UPSTREAM_MONITOR_EXCEPTION,
-            "Got none serviceInstances from eureka"
+            "Got none serviceInstances from Service Registry"
           )
         }
 
@@ -99,7 +98,7 @@ class ECTaskEntranceInfoAccess extends ConnectionInfoAccess 
with Logging {
           }
         }
       case _ =>
-        throw new EngineConnException(
+        throw EngineConnException(
           ComputationErrorCode.INVALID_DATA_TYPE_ERROR_CODE,
           "invalid data-type: " + request.getClass.getCanonicalName
         )
@@ -107,26 +106,15 @@ class ECTaskEntranceInfoAccess extends 
ConnectionInfoAccess with Logging {
     ret.iterator().asScala.toList
   }
 
-  private def getDWCServiceInstance(serviceInstance: 
SpringCloudServiceInstance): ServiceInstance =
-    serviceInstance match {
-      case instance: EurekaServiceInstance =>
-        val applicationName = instance.getInstanceInfo.getAppName
-        val instanceId = instance.getInstanceInfo.getInstanceId
-        ServiceInstance(
-          applicationName.toLowerCase(Locale.getDefault),
-          getInstance(applicationName, instanceId)
-        )
-    }
-
-  private def getInstance(applicationName: String, instanceId: String): String 
=
-    if (
-        instanceId
-          .toLowerCase(Locale.getDefault)
-          .indexOf(applicationName.toLowerCase(Locale.getDefault)) > 0
-    ) {
-      val instanceInfos = instanceId.split(":")
-      instanceInfos(0) + ":" + instanceInfos(2)
-    } else instanceId
+  private def getDWCServiceInstance(
+      serviceInstance: SpringCloudServiceInstance
+  ): ServiceInstance = {
+    val applicationName = serviceInstance.getServiceId
+    ServiceInstance(
+      applicationName.toLowerCase(Locale.getDefault),
+      s"${serviceInstance.getHost}:${serviceInstance.getPort}"
+    )
+  }
 
   private def isConnectionAlive(
       instance: ServiceInstance,
@@ -138,7 +126,7 @@ class ECTaskEntranceInfoAccess extends ConnectionInfoAccess 
with Logging {
 
   protected def panicIfNull(obj: Any, msg: String): Unit = {
     if (obj == null) {
-      throw new 
EngineConnException(ComputationErrorCode.VARIABLE_NULL_ERROR_CODE, msg)
+      throw EngineConnException(ComputationErrorCode.VARIABLE_NULL_ERROR_CODE, 
msg)
     }
   }
 
diff --git 
a/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/Environment.scala
 
b/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/Environment.scala
index 7ded30bd3..c273876b1 100644
--- 
a/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/Environment.scala
+++ 
b/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/Environment.scala
@@ -25,7 +25,7 @@ object Environment extends Enumeration {
 
   val USER, ECM_HOME, PWD, PATH, SHELL, JAVA_HOME, CLASSPATH, HADOOP_HOME, 
HADOOP_CONF_DIR,
       HIVE_CONF_DIR, LOG_DIRS, TEMP_DIRS, ECM_HOST, ECM_PORT, RANDOM_PORT, 
SERVICE_DISCOVERY,
-      EUREKA_PREFER_IP, UDF_JARS, ENGINECONN_ENVKEYS = Value
+      PREFER_IP_ADDRESS, UDF_JARS, ENGINECONN_ENVKEYS = Value
 
   def variable(environment: Environment): String =
     LaunchConstants.EXPANSION_MARKER_LEFT + environment + 
LaunchConstants.EXPANSION_MARKER_RIGHT
diff --git 
a/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/JavaProcessEngineConnLaunchBuilder.scala
 
b/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/JavaProcessEngineConnLaunchBuilder.scala
index 497e160db..bac742fae 100644
--- 
a/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/JavaProcessEngineConnLaunchBuilder.scala
+++ 
b/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/JavaProcessEngineConnLaunchBuilder.scala
@@ -26,13 +26,12 @@ import 
org.apache.linkis.manager.engineplugin.common.launch.entity.{
   EngineConnBuildRequest,
   RicherEngineConnBuildRequest
 }
-import 
org.apache.linkis.manager.engineplugin.common.launch.process.Environment.{variable,
 _}
+import 
org.apache.linkis.manager.engineplugin.common.launch.process.Environment._
 import 
org.apache.linkis.manager.engineplugin.common.launch.process.LaunchConstants._
 import 
org.apache.linkis.manager.engineplugin.errorcode.EngineconnCoreErrorCodeSummary._
 import org.apache.linkis.manager.label.entity.engine.EngineTypeLabel
 
 import org.apache.commons.lang3.StringUtils
-import org.apache.commons.lang3.time.DateFormatUtils
 
 import java.io.File
 import java.nio.file.Paths
@@ -104,7 +103,6 @@ abstract class JavaProcessEngineConnLaunchBuilder
       addPathToClassPath(environment, variable(HADOOP_CONF_DIR))
       addPathToClassPath(environment, variable(HIVE_CONF_DIR))
     }
-//    addPathToClassPath(environment, variable(PWD))
     // first, add engineconn conf dirs.
     addPathToClassPath(environment, Seq(variable(PWD), 
ENGINE_CONN_CONF_DIR_NAME))
     // then, add LINKIS_CONF_DIR conf dirs.
diff --git 
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/service/monitor/NodeHeartbeatMonitor.scala
 
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/service/monitor/NodeHeartbeatMonitor.scala
index cdb5c033c..3887b1a96 100644
--- 
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/service/monitor/NodeHeartbeatMonitor.scala
+++ 
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/service/monitor/NodeHeartbeatMonitor.scala
@@ -134,8 +134,8 @@ class NodeHeartbeatMonitor extends ManagerMonitor with 
Logging {
    *   1. When the engine starts, the status is empty, and it needs to judge 
whether the startup
    *      timeout, if the startup timeout, kill directly 2. After the engine 
is in the state, it is
    *      normal that the heartbeat information is reported after the startup 
is completed: if the
-   *      heartbeat is not updated for a long time, kill it, if it does not 
exist on Eureka, it
-   *      needs to be killed.
+   *      heartbeat is not updated for a long time, kill it, if it does not 
exist on Service
+   *      Registry, it needs to be killed.
    *
    * @param engineNodes
    */
@@ -145,7 +145,9 @@ class NodeHeartbeatMonitor extends ManagerMonitor with 
Logging {
     engineNodes.asScala.foreach { engineNode =>
       if (NodeStatus.isCompleted(engineNode.getNodeStatus)) {
         logger.info(
-          s"${engineNode.getServiceInstance} is completed 
${engineNode.getNodeStatus}, will be remove"
+          "{} is completed {}, will be remove",
+          engineNode.getServiceInstance: Any,
+          engineNode.getNodeStatus: Any
         )
         clearECSet.add(engineNode.getServiceInstance)
       } else {
@@ -160,12 +162,13 @@ class NodeHeartbeatMonitor extends ManagerMonitor with 
Logging {
         if (null == engineNode.getNodeStatus) {
           if (!existingEngineInstances.contains(engineNode.getServiceInstance) 
&& engineIsStarted) {
             logger.warn(
-              s"Failed to find instance ${engineNode.getServiceInstance} from 
eureka prepare to kill, engineIsStarted"
+              "Failed to find instance {} from Service Registry prepare to 
kill, engineIsStarted",
+              engineNode.getServiceInstance
             )
             clearECSet.add(engineNode.getServiceInstance)
           }
         } else if (updateOverdue) {
-          logger.warn(s" ${engineNode.getServiceInstance} heartbeat 
updateOverdue")
+          logger.warn("{} heartbeat updateOverdue", 
engineNode.getServiceInstance)
           clearECSet.add(engineNode.getServiceInstance)
         }
       }
@@ -200,7 +203,8 @@ class NodeHeartbeatMonitor extends ManagerMonitor with 
Logging {
         val isExistingECMInstances = 
Sender.getInstances(ecmName).contains(ecm.getServiceInstance)
         if (!isExistingECMInstances && isUpdateOverdue) {
           logger.warn(
-            s"Failed to find ecm instance ${ecm.getServiceInstance} from 
eureka Registry to kill"
+            "Failed to find ecm instance {} from Service Registry to kill",
+            ecm.getServiceInstance
           )
           Utils.tryAndWarnMsg(triggerEMSuicide(ecm.getServiceInstance))(
             s"ecm ${ecm.getServiceInstance} clear failed"
diff --git a/linkis-dist/bin/install.sh b/linkis-dist/bin/install.sh
index 891e798b1..c52ec43c4 100644
--- a/linkis-dist/bin/install.sh
+++ b/linkis-dist/bin/install.sh
@@ -292,10 +292,7 @@ if test -z "$EUREKA_INSTALL_IP"
 then
   export EUREKA_INSTALL_IP=$SERVER_IP
 fi
-if [ "true" != "$EUREKA_PREFER_IP" ]
-then
-  export EUREKA_HOSTNAME=$EUREKA_INSTALL_IP
-fi
+
 export EUREKA_URL=http://$EUREKA_INSTALL_IP:$EUREKA_PORT/eureka/
 
 if test -z "$GATEWAY_INSTALL_IP"
@@ -314,10 +311,25 @@ sed -i ${txt}  
"s#linkis.app.version:.*#linkis.app.version: $LINKIS_VERSION-$cur
 sed -i ${txt}  "s#defaultZone:.*#defaultZone: $EUREKA_URL#g" 
$LINKIS_HOME/conf/application-linkis.yml
 sed -i ${txt}  "s#linkis.app.version:.*#linkis.app.version: 
$LINKIS_VERSION-$currentTime#g" $LINKIS_HOME/conf/application-linkis.yml
 
+sed -i ${txt}  "s#defaultZone:.*#defaultZone: $EUREKA_URL#g" 
$LINKIS_HOME/conf/application-engineconn.yml
+sed -i ${txt}  "s#linkis.app.version:.*#linkis.app.version: 
$LINKIS_VERSION-$currentTime#g" $LINKIS_HOME/conf/application-engineconn.yml
+
+if [ "$EUREKA_PREFER_IP" == "true" ]; then
+  sed -i ${txt}  "s/# prefer-ip-address:/prefer-ip-address:/g" 
$LINKIS_HOME/conf/application-eureka.yml
+
+  sed -i ${txt}  "s/# prefer-ip-address:/prefer-ip-address:/g" 
$LINKIS_HOME/conf/application-linkis.yml
+  sed -i ${txt}  "s/# instance-id:/instance-id:/g" 
$LINKIS_HOME/conf/application-linkis.yml
+
+  sed -i ${txt}  "s/# prefer-ip-address:/prefer-ip-address:/g" 
$LINKIS_HOME/conf/application-engineconn.yml
+  sed -i ${txt}  "s/# instance-id:/instance-id:/g" 
$LINKIS_HOME/conf/application-linkis.yml
+
+  sed -i ${txt}  
"s#linkis.discovery.prefer-ip-address.*#linkis.discovery.prefer-ip-address=true#g"
 $common_conf
+fi
+
 echo "update conf $common_conf"
 sed -i ${txt}  
"s#wds.linkis.server.version.*#wds.linkis.server.version=$LINKIS_SERVER_VERSION#g"
 $common_conf
 sed -i ${txt}  
"s#wds.linkis.gateway.url.*#wds.linkis.gateway.url=http://$GATEWAY_INSTALL_IP:$GATEWAY_PORT#g";
 $common_conf
-sed -i ${txt}  
"s#wds.linkis.eureka.defaultZone.*#wds.linkis.eureka.defaultZone=$EUREKA_URL#g" 
$common_conf
+sed -i ${txt}  
"s#linkis.discovery.server-address.*#linkis.discovery.server-address=http://$EUREKA_INSTALL_IP:$EUREKA_PORT#g";
 $common_conf
 sed -i ${txt}  
"s#wds.linkis.server.mybatis.datasource.url.*#wds.linkis.server.mybatis.datasource.url=jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DB}?characterEncoding=UTF-8#g"
 $common_conf
 sed -i ${txt}  
"s#wds.linkis.server.mybatis.datasource.username.*#wds.linkis.server.mybatis.datasource.username=$MYSQL_USER#g"
 $common_conf
 sed -i ${txt}  
"s#wds.linkis.server.mybatis.datasource.password.*#wds.linkis.server.mybatis.datasource.password=$MYSQL_PASSWORD#g"
 $common_conf
@@ -433,6 +445,7 @@ then
   sed -i ${txt}  
"s#\#wds.linkis.prometheus.enable.*#wds.linkis.prometheus.enable=true#g" 
$common_conf
   sed -i ${txt}  's#include: refresh,info.*#include: 
refresh,info,health,metrics,prometheus#g' 
$LINKIS_HOME/conf/application-linkis.yml
   sed -i ${txt}  's#include: refresh,info.*#include: 
refresh,info,health,metrics,prometheus#g' 
$LINKIS_HOME/conf/application-eureka.yml
+  sed -i ${txt}  's#include: refresh,info.*#include: 
refresh,info,health,metrics,prometheus#g' 
$LINKIS_HOME/conf/application-engineconn.yml
 fi
 
 echo "preveliges linkis command shells"
diff --git a/linkis-dist/package/conf/application-linkis.yml 
b/linkis-dist/package/conf/application-engineconn.yml
similarity index 65%
copy from linkis-dist/package/conf/application-linkis.yml
copy to linkis-dist/package/conf/application-engineconn.yml
index 8e9956ab2..4f9610513 100644
--- a/linkis-dist/package/conf/application-linkis.yml
+++ b/linkis-dist/package/conf/application-engineconn.yml
@@ -12,15 +12,28 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-
+spring:
+  application:
+    name: linkis-cg-engineconn
+  servlet:
+    multipart:
+      max-file-size: 500MB
+      max-request-size: 500MB
+      file-size-threshold: 50MB
 eureka:
   instance:
+    # prefer-ip-address: true
+    # instance-id: 
${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}
+    lease-renewal-interval-in-seconds: 4
+    lease-expiration-duration-in-seconds: 12
     metadata-map:
-      prometheus.path: ${prometheus.path:${prometheus.endpoint}}
+      prometheus.path: ${prometheus.path:/api/rest_j/v1/actuator/prometheus}
       linkis.app.version: ${linkis.app.version}
   client:
     serviceUrl:
       defaultZone: http://127.0.0.1:20303/eureka/
+    registry-fetch-interval-seconds: 8
+    initial-instance-info-replication-interval-seconds: 10
 management:
   endpoints:
     web:
@@ -29,18 +42,3 @@ management:
 
 logging:
   config: classpath:log4j2.xml
-
-pagehelper:
-  helper-dialect: mysql
-  reasonable: true
-  support-methods-arguments: true
-  params: countSql
-
-#ribbon:
-#  ReadTimeout: 10000
-#  ConnectTimeout: 10000
-
-##disable  kinif4j.production when you want to use apidoc during development
-knife4j:
-  enable: true
-  production: true
\ No newline at end of file
diff --git a/linkis-dist/package/conf/application-eureka.yml 
b/linkis-dist/package/conf/application-eureka.yml
index 6dcb6c537..fb72b69c7 100644
--- a/linkis-dist/package/conf/application-eureka.yml
+++ b/linkis-dist/package/conf/application-eureka.yml
@@ -23,19 +23,17 @@ server:
 
 eureka:
   instance:
+    # prefer-ip-address: true
+    hostname: ${spring.cloud.client.ip-address}
     metadata-map:
       prometheus.path: ${prometheus.path:/actuator/prometheus}
       linkis.app.version: ${linkis.app.version}
-    hostname:
-#    preferIpAddress: true
   client:
-#    register-with-eureka: false
-#    fetch-registry: false
     serviceUrl:
       defaultZone: http://127.0.0.1:20303/eureka/
   server:
     enable-self-preservation: false
-    eviction-interval-timer-in-ms: 10000
+    eviction-interval-timer-in-ms: 5000
     response-cache-update-interval-ms: 3000
 management:
   endpoints:
diff --git a/linkis-dist/package/conf/application-linkis.yml 
b/linkis-dist/package/conf/application-linkis.yml
index 8e9956ab2..868a94294 100644
--- a/linkis-dist/package/conf/application-linkis.yml
+++ b/linkis-dist/package/conf/application-linkis.yml
@@ -15,12 +15,17 @@
 
 eureka:
   instance:
+    # prefer-ip-address: true
+    # instance-id: 
${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}
+    lease-renewal-interval-in-seconds: 4
+    lease-expiration-duration-in-seconds: 12
     metadata-map:
       prometheus.path: ${prometheus.path:${prometheus.endpoint}}
       linkis.app.version: ${linkis.app.version}
   client:
     serviceUrl:
       defaultZone: http://127.0.0.1:20303/eureka/
+    registry-fetch-interval-seconds: 8
 management:
   endpoints:
     web:
@@ -36,6 +41,12 @@ pagehelper:
   support-methods-arguments: true
   params: countSql
 
+spring:
+  servlet:
+    multipart:
+      max-file-size: 500MB
+      max-request-size: 500MB
+      file-size-threshold: 50MB
 #ribbon:
 #  ReadTimeout: 10000
 #  ConnectTimeout: 10000
diff --git a/linkis-dist/package/conf/linkis.properties 
b/linkis-dist/package/conf/linkis.properties
index 97d6aeefa..9116486b0 100644
--- a/linkis-dist/package/conf/linkis.properties
+++ b/linkis-dist/package/conf/linkis.properties
@@ -17,10 +17,12 @@
 #wds.linkis.test.mode=true
 
 wds.linkis.server.version=v1
+linkis.discovery.prefer-ip-address=false
+linkis.discovery.server-address=http://127.0.0.1:20303
 
 ##spring conf
 wds.linkis.gateway.url=http://127.0.0.1:9001
-wds.linkis.eureka.defaultZone=http://127.0.0.1:20303/eureka/
+
 ##mybatis
 wds.linkis.server.mybatis.datasource.url=
 wds.linkis.server.mybatis.datasource.username=
@@ -70,11 +72,7 @@ wds.linkis.jobhistory.admin=hadoop
 
wds.linkis.server.user.restful.uri.pass.auth=/actuator/prometheus,/api/rest_j/v1/offline,/api/rest_j/v1/doc.html,/api/rest_j/v1/swagger-resources,/api/rest_j/v1/webjars,/api/rest_j/v1/v2/api-docs
 
 wds.linkis.gateway.conf.metadataquery.list=metadatamanager,metadataquery
-spring.spring.servlet.multipart.max-file-size=500MB
-spring.spring.servlet.multipart.max-request-size=500MB
 
-# note:value of zero means Jetty will never write to disk. 
https://github.com/spring-projects/spring-boot/issues/9073
-spring.spring.servlet.multipart.file-size-threshold=50MB
 # note: 
org.springframework.cloud.config.client.ConfigServiceBootstrapConfiguration.configServicePropertySource
 need to disable
 spring.spring.cloud.config.enabled=false
 
diff --git a/linkis-dist/package/sbin/ext/linkis-common-start 
b/linkis-dist/package/sbin/ext/linkis-common-start
index 2f2ec8906..776a33232 100644
--- a/linkis-dist/package/sbin/ext/linkis-common-start
+++ b/linkis-dist/package/sbin/ext/linkis-common-start
@@ -52,12 +52,6 @@ then
   export SERVER_JAVA_OPTS=" $JAVA_AGENT_OPTS -DserviceName=$SERVER_NAME 
-Xmx$SERVER_HEAP_SIZE -XX:+UseG1GC 
-Xloggc:$LINKIS_LOG_DIR/${SERVER_NAME}-gc.log $DEBUG_CMD "
 fi
 
-#SPRING_ARGS
-if [ "$EUREKA_PREFER_IP" == "true" ]; then
-  SPRING_ARGS="$SPRING_ARGS --eureka.instance.prefer-ip-address=true "
-  SPRING_ARGS="$SPRING_ARGS 
--eureka.instance.instance-id=\${spring.cloud.client.ip-address}:\${spring.application.name}:\${server.port}"
-fi
-
 ## conf dir
 export SERVER_CONF_PATH=$LINKIS_CONF_DIR
 
diff --git a/linkis-dist/package/sbin/ext/linkis-mg-eureka 
b/linkis-dist/package/sbin/ext/linkis-mg-eureka
index 9b96da1d6..b2478af36 100644
--- a/linkis-dist/package/sbin/ext/linkis-mg-eureka
+++ b/linkis-dist/package/sbin/ext/linkis-mg-eureka
@@ -85,16 +85,6 @@ if test -z "$EUREKA_INSTALL_IP"
 then
   export EUREKA_INSTALL_IP=$SERVER_IP
 fi
-if [ "true" != "$EUREKA_PREFER_IP" ]
-then
-  export EUREKA_HOSTNAME=$EUREKA_INSTALL_IP
-fi
-
-if [ "$EUREKA_PREFER_IP" == "true" ]; then
-  SPRING_ARGS="$SPRING_ARGS --eureka.instance.preferIpAddress=true "
-else
-  SPRING_ARGS="$SPRING_ARGS --eureka.instance.hostname=$EUREKA_HOSTNAME"
-fi
 
 SPRING_ARGS="$SPRING_ARGS --spring.profiles.active=eureka"
 
diff --git a/linkis-dist/package/sbin/ext/linkis-mg-gateway 
b/linkis-dist/package/sbin/ext/linkis-mg-gateway
index 34df839ba..d643f880c 100644
--- a/linkis-dist/package/sbin/ext/linkis-mg-gateway
+++ b/linkis-dist/package/sbin/ext/linkis-mg-gateway
@@ -56,17 +56,8 @@ then
   export SERVER_JAVA_OPTS=" $JAVA_AGENT_OPTS -DserviceName=$SERVER_NAME 
-Xmx$SERVER_HEAP_SIZE -XX:+UseG1GC 
-Xloggc:$LINKIS_LOG_DIR/${SERVER_NAME}-gc.log $DEBUG_CMD"
 fi
 
-
 export 
SERVER_CLASS=org.apache.linkis.gateway.springcloud.LinkisGatewayApplication
 
-
-#SPRING_ARGS
-if [ "$EUREKA_PREFER_IP" == "true" ]; then
-  SPRING_ARGS="$SPRING_ARGS --eureka.instance.prefer-ip-address=true "
-  SPRING_ARGS="$SPRING_ARGS 
--eureka.instance.instance-id=\${spring.cloud.client.ip-address}:\${spring.application.name}:\${server.port}
 "
-fi
-
-
 ## conf dir
 export SERVER_CONF_PATH=$LINKIS_CONF_DIR
 
diff --git 
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/scala/org/apache/linkis/cs/highavailable/ha/instancealias/impl/InstanceAliasManagerImpl.scala
 
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/scala/org/apache/linkis/cs/highavailable/ha/instancealias/impl/InstanceAliasManagerImpl.scala
index 1f128e056..ad1e7c6a1 100644
--- 
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/scala/org/apache/linkis/cs/highavailable/ha/instancealias/impl/InstanceAliasManagerImpl.scala
+++ 
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/scala/org/apache/linkis/cs/highavailable/ha/instancealias/impl/InstanceAliasManagerImpl.scala
@@ -24,7 +24,7 @@ import org.apache.linkis.cs.highavailable.ha.instancealias.{
   InstanceAliasManager
 }
 import org.apache.linkis.rpc.conf.RPCConfiguration
-import org.apache.linkis.rpc.sender.eureka.EurekaRPCServerLoader
+import org.apache.linkis.rpc.sender.spring.SpringRPCServerLoader
 import org.apache.linkis.rpc.utils.RPCUtils
 
 import org.apache.commons.lang3.StringUtils
@@ -39,7 +39,7 @@ import scala.collection.JavaConverters._
 @Component
 class InstanceAliasManagerImpl extends InstanceAliasManager with Logging {
 
-  private val serverLoader = new EurekaRPCServerLoader()
+  private val serverLoader = new SpringRPCServerLoader()
 
   @Autowired
   var instanceAliasConverter: InstanceAliasConverter = _
diff --git 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/EurekaInstanceLabelClient.scala
 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/SpringCloudInstanceLabelClient.scala
similarity index 93%
rename from 
linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/EurekaInstanceLabelClient.scala
rename to 
linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/SpringCloudInstanceLabelClient.scala
index ca49bc34c..9cb121a76 100644
--- 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/EurekaInstanceLabelClient.scala
+++ 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/SpringCloudInstanceLabelClient.scala
@@ -37,17 +37,17 @@ import org.springframework.stereotype.Component
 import java.util
 
 @Component
-class EurekaInstanceLabelClient extends Logging {
+class SpringCloudInstanceLabelClient extends Logging {
 
   @Autowired
   private var registration: Registration = _
 
   @EventListener(classes = 
Array(classOf[AvailabilityChangeEvent[AvailabilityState]]))
   def init(availabilityChangeEvent: 
AvailabilityChangeEvent[AvailabilityState]): Unit = {
-    logger.info(s"EurekaInstanceLabelClient app state 
${availabilityChangeEvent.getState}")
+    logger.info("SpringCloudInstanceLabelClient app state {}", 
availabilityChangeEvent.getState)
     availabilityChangeEvent.getState match {
       case state: ReadinessState if state == ReadinessState.ACCEPTING_TRAFFIC 
=>
-        logger.info("EurekaInstanceLabelClient init")
+        logger.info("SpringCloudInstanceLabelClient init")
         val metadata = registration.getMetadata
         if (
             null != metadata && 
metadata.containsKey(LabelKeyConstant.ROUTE_KEY) && StringUtils
diff --git 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/InsLabelAutoConfiguration.java
 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/InsLabelAutoConfiguration.java
index ef704f4f7..9a5382772 100644
--- 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/InsLabelAutoConfiguration.java
+++ 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/InsLabelAutoConfiguration.java
@@ -22,12 +22,12 @@ import 
org.apache.linkis.instance.label.service.InsLabelServiceAdapter;
 import org.apache.linkis.instance.label.service.annotation.AdapterMode;
 import org.apache.linkis.instance.label.service.impl.DefaultInsLabelService;
 import 
org.apache.linkis.instance.label.service.impl.DefaultInsLabelServiceAdapter;
-import org.apache.linkis.instance.label.service.impl.EurekaInsLabelService;
+import org.apache.linkis.instance.label.service.impl.SpringInsLabelService;
 import org.apache.linkis.mybatis.DataSourceConfig;
 
 import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
 import 
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.cloud.netflix.eureka.EurekaDiscoveryClient;
+import org.springframework.cloud.client.discovery.DiscoveryClient;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Scope;
@@ -51,7 +51,7 @@ public class InsLabelAutoConfiguration {
   }
 
   @ConditionalOnMissingBean({InsLabelServiceAdapter.class})
-  @Bean(initMethod = "init")
+  @Bean
   public InsLabelServiceAdapter 
insLabelServiceAdapter(List<InsLabelAccessService> accessServices) {
     LOG.info("Discover instance label accessServices: [" + 
accessServices.size() + "]");
     InsLabelServiceAdapter insLabelServiceAdapter = new 
DefaultInsLabelServiceAdapter();
@@ -70,27 +70,13 @@ public class InsLabelAutoConfiguration {
     return insLabelServiceAdapter;
   }
 
-  /** Configuration in eureka environment */
-  /* @Configuration
-  @ConditionalOnClass({EurekaClient.class})*/
-  public static class EurekaClientConfiguration {
-    @ConditionalOnMissingBean({EurekaInsLabelService.class})
+  /** Configuration in environment */
+  public static class SpringClientConfiguration {
+    @ConditionalOnMissingBean({SpringInsLabelService.class})
     @Bean
     @Scope("prototype")
-    public EurekaInsLabelService eurekaInsLabelService(EurekaDiscoveryClient 
discoveryClient) {
-      return new EurekaInsLabelService(discoveryClient);
+    public SpringInsLabelService springInsLabelService(DiscoveryClient 
discoveryClient) {
+      return new SpringInsLabelService(discoveryClient);
     }
   }
-
-  /**
-   * Enable the rpc service
-   *
-   * @return
-   */
-  /*//@ConditionalOnExpression("${wds.linkis.is.gateway:false}==false")
-  @ConditionalOnMissingBean({InsLabelRpcService.class})
-  public InsLabelRpcService insLabelRpcService(){
-      LOG.info("Use the default implement of rpc service: [" + 
DefaultInsLabelRpcService.class + "]");
-      return new DefaultInsLabelRpcService();
-  }*/
 }
diff --git 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/conf/InsLabelConf.java
 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/conf/InsLabelConf.java
index 81553b813..653e6a227 100644
--- 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/conf/InsLabelConf.java
+++ 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/conf/InsLabelConf.java
@@ -46,9 +46,6 @@ public class InsLabelConf {
   public static final CommonVars<String> CACHE_NAMES =
       CommonVars.apply("wds.linkis.instance.label.cache.names", 
"instance,label,appInstance");
 
-  public static final CommonVars<String> EUREKA_URL =
-      CommonVars.apply("wds.linkis.eureka.defaultZone", 
"http://localhost:20303";);
-
-  public static final CommonVars<String> EUREKA_IPADDRESS =
-      CommonVars.apply("wds.linkis.eureka.url", "");
+  public static final CommonVars<String> SERVICE_REGISTRY_ADDRESS =
+      CommonVars.apply("linkis.discovery.server-address", 
"http://localhost:20303";);
 }
diff --git 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
index 05825cb44..5b333cd6f 100644
--- 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
+++ 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
@@ -44,7 +44,12 @@ import 
org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@@ -53,7 +58,9 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 
-import static 
org.apache.linkis.instance.label.errorcode.LinkisInstanceLabelErrorCodeSummary.*;
+import static 
org.apache.linkis.instance.label.errorcode.LinkisInstanceLabelErrorCodeSummary.INCLUDE_REPEAT;
+import static 
org.apache.linkis.instance.label.errorcode.LinkisInstanceLabelErrorCodeSummary.ONLY_ADMIN_CAN_MODIFY;
+import static 
org.apache.linkis.instance.label.errorcode.LinkisInstanceLabelErrorCodeSummary.ONLY_ADMIN_CAN_VIEW;
 
 @Api(tags = "instance restful")
 @RestController
@@ -158,11 +165,11 @@ public class InstanceRestful {
     return Message.ok().data("keyList", keyList);
   }
 
-  @ApiOperation(value = "getEurekaURL", notes = "get eureka URL", response = 
Message.class)
-  @RequestMapping(path = "/eurekaURL", method = RequestMethod.GET)
-  public Message getEurekaURL(HttpServletRequest request) throws Exception {
-    String eurekaURL = insLabelService.getEurekaURL();
-    ModuleUserUtils.getOperationUser(request, "upDateInstanceLabel");
-    return Message.ok().data("url", eurekaURL);
+  @ApiOperation(value = "getServiceRegistryURL", response = Message.class)
+  @RequestMapping(path = "/serviceRegistryURL", method = RequestMethod.GET)
+  public Message getServiceRegistryURL(HttpServletRequest request) throws 
Exception {
+    String serviceRegistryURL = insLabelService.getServiceRegistryURL();
+    ModuleUserUtils.getOperationUser(request, "getServiceRegistryURL");
+    return Message.ok().data("url", serviceRegistryURL);
   }
 }
diff --git 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelService.java
 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelService.java
index ee32210db..5cc3bcc63 100644
--- 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelService.java
+++ 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelService.java
@@ -49,16 +49,20 @@ import java.net.InetAddress;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.UnknownHostException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
+import com.google.common.net.InetAddresses;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.apache.commons.lang3.math.NumberUtils.isCreatable;
 import static 
org.apache.linkis.instance.label.errorcode.LinkisInstanceLabelErrorCodeSummary.INSERT_SERVICE_INSTANCE;
 
 @AdapterMode
@@ -247,58 +251,23 @@ public class DefaultInsLabelService implements 
InsLabelAccessService {
     instanceInfoDao.updateInstance(instanceInfo);
   }
 
-  public String getEurekaURL() throws Exception {
-    String eurekaURL = InsLabelConf.EUREKA_IPADDRESS.getValue();
-    String realURL = eurekaURL;
-    if (eurekaURL.isEmpty()) {
-      String defaultZone = InsLabelConf.EUREKA_URL.getValue();
-      String tmpURL = urlPreDeal(defaultZone);
-      realURL = replaceEurekaURL(tmpURL);
-    }
-    return realURL;
-  }
-
-  private String urlPreDeal(String defaultZone) {
-    if (defaultZone.contains(",")) {
-      defaultZone = defaultZone.split(",")[0];
-    }
-    String url = defaultZone;
-    if 
(defaultZone.matches("https?://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]"))
 {
-      if (defaultZone.toLowerCase().contains("eureka")) {
-        url = defaultZone.split("eureka", 2)[0];
-      }
-    }
-    return url;
+  public String getServiceRegistryURL() throws Exception {
+    return 
transferToIpAddress(InsLabelConf.SERVICE_REGISTRY_ADDRESS.getValue());
   }
 
-  private String replaceEurekaURL(String tmpURL) throws URISyntaxException, 
UnknownHostException {
-    URI uri = new URI(tmpURL);
-    if (isIPAddress(uri.getHost())) {
-      if (uri.getHost().equals("127.0.0.1")) {
-        String ip = Utils.getLocalHostname();
-        return tmpURL.replace("127.0.0.1", ip);
+  private String transferToIpAddress(String url) throws URISyntaxException, 
UnknownHostException {
+    URI uri = new URI(url);
+    String hostname = uri.getHost();
+    InetAddress address = InetAddress.getByName(hostname);
+    if (InetAddresses.isInetAddress(hostname)) {
+      if (address.isLoopbackAddress()) {
+        return url.replace(hostname, Utils.getLocalHostname());
       } else {
-        return tmpURL;
+        return url;
       }
     } else {
-      String hostname = uri.getHost();
-      InetAddress address = InetAddress.getByName(hostname);
-      String realAddress = address.getHostAddress();
-      return tmpURL.replace(hostname, realAddress);
-    }
-  }
-
-  private boolean isIPAddress(String tmpURL) {
-    String[] urlArray = tmpURL.split(".");
-    if (urlArray.length == 4) {
-      if (isCreatable(urlArray[0])
-          && isCreatable(urlArray[1])
-          && isCreatable(urlArray[2])
-          && isCreatable(urlArray[3])) {
-        return true;
-      }
+      return url.replace(hostname, address.getHostAddress());
     }
-    return false;
   }
 
   /**
diff --git 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelServiceAdapter.java
 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelServiceAdapter.java
index 90cf56b4e..30db21be2 100644
--- 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelServiceAdapter.java
+++ 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelServiceAdapter.java
@@ -23,6 +23,8 @@ import 
org.apache.linkis.instance.label.service.InsLabelAccessService;
 import org.apache.linkis.instance.label.service.InsLabelServiceAdapter;
 import org.apache.linkis.manager.label.entity.Label;
 
+import javax.annotation.PostConstruct;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.function.Function;
@@ -36,6 +38,7 @@ public class DefaultInsLabelServiceAdapter implements 
InsLabelServiceAdapter {
 
   private List<AccessServiceContext> serviceContexts = new ArrayList<>();
 
+  @PostConstruct
   public void init() {
     this.serviceContexts.sort(
         (left, right) -> {
diff --git 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/EurekaInsLabelService.java
 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/SpringInsLabelService.java
similarity index 92%
rename from 
linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/EurekaInsLabelService.java
rename to 
linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/SpringInsLabelService.java
index e030f62a4..de47eda07 100644
--- 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/EurekaInsLabelService.java
+++ 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/SpringInsLabelService.java
@@ -23,14 +23,14 @@ import 
org.apache.linkis.instance.label.service.InsLabelAccessService;
 import org.apache.linkis.instance.label.service.annotation.AdapterMode;
 import org.apache.linkis.manager.label.entity.Label;
 
-import org.springframework.cloud.netflix.eureka.EurekaDiscoveryClient;
+import org.springframework.cloud.client.discovery.DiscoveryClient;
 
 import java.util.List;
 
 @AdapterMode
-public class EurekaInsLabelService implements InsLabelAccessService {
+public class SpringInsLabelService implements InsLabelAccessService {
 
-  public EurekaInsLabelService(EurekaDiscoveryClient discoveryClient) {}
+  public SpringInsLabelService(DiscoveryClient discoveryClient) {}
 
   @Override
   public void attachLabelToInstance(Label<?> label, ServiceInstance 
serviceInstance) {}
diff --git 
a/linkis-spring-cloud-services/linkis-service-discovery/linkis-eureka/src/main/java/org/apache/linkis/eureka/conf/EurekaSecurityConfig.java
 
b/linkis-spring-cloud-services/linkis-service-discovery/linkis-eureka/src/main/java/org/apache/linkis/eureka/conf/EurekaSecurityConfig.java
deleted file mode 100644
index 87749a70c..000000000
--- 
a/linkis-spring-cloud-services/linkis-service-discovery/linkis-eureka/src/main/java/org/apache/linkis/eureka/conf/EurekaSecurityConfig.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.linkis.eureka.conf;
-
-// import 
org.springframework.security.config.annotation.web.builders.HttpSecurity;
-// import 
org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-// import
-// 
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-
-/*@EnableWebSecurity
-public class EurekaSecurityConfig extends WebSecurityConfigurerAdapter {
-    @Override
-    protected void configure(HttpSecurity http) throws Exception {
-        http.csrf().disable();
-        super.configure(http);
-    }
-}*/
diff --git a/linkis-web/package.json b/linkis-web/package.json
index 03eb8a853..91022dc50 100644
--- a/linkis-web/package.json
+++ b/linkis-web/package.json
@@ -61,7 +61,7 @@
         "babel-eslint": "10.1.0",
         "copy-webpack-plugin": "4.6.0",
         "csp-html-webpack-plugin": "4.0.0",
-        "filemanager-webpack-plugin": "6.1.7",
+        "filemanager-webpack-plugin": "3.1.1",
         "husky": "1.3.1",
         "lint-staged": "8.2.1",
         "material-design-icons": "3.0.1",
diff --git a/linkis-web/src/apps/linkis/i18n/common/en.json 
b/linkis-web/src/apps/linkis/i18n/common/en.json
index 5ce625613..0797c58c0 100644
--- a/linkis-web/src/apps/linkis/i18n/common/en.json
+++ b/linkis-web/src/apps/linkis/i18n/common/en.json
@@ -14,7 +14,7 @@
       "addAppType": "Add Application Type",
       "editContents": "Add Contents",
       "ConfirmEdit": "Done",
-      "eurekaRegisterCenter": "Eureka Register Center",
+      "serviceRegistryCenter": "Service Registry Center",
       "addTags": "Add Tags",
       "unfold": "Unfold",
       "fold": "Fold",
diff --git a/linkis-web/src/apps/linkis/i18n/common/zh.json 
b/linkis-web/src/apps/linkis/i18n/common/zh.json
index e06ecd046..cb6a97bdd 100644
--- a/linkis-web/src/apps/linkis/i18n/common/zh.json
+++ b/linkis-web/src/apps/linkis/i18n/common/zh.json
@@ -7,7 +7,7 @@
           "addAppType": "新增应用类型",
           "editContents": "编辑目录",
           "ConfirmEdit": "完成编辑",
-          "eurekaRegisterCenter":  "Eureka注册中心",
+          "serviceRegistryCenter":  "服务注册中心",
           "addParameterConfig": "新增参数配置",
           "addEngineType": "新增引擎类型",
           "editDescriptionEngineConfig": "编辑引擎配置",
diff --git a/linkis-web/src/apps/linkis/module/microServiceManagement/index.vue 
b/linkis-web/src/apps/linkis/module/microServiceManagement/index.vue
index e85d3675b..a99c6d8bc 100644
--- a/linkis-web/src/apps/linkis/module/microServiceManagement/index.vue
+++ b/linkis-web/src/apps/linkis/module/microServiceManagement/index.vue
@@ -46,8 +46,8 @@
         <Button class="search" type="primary" @click="searchAction">{{
           $t("message.linkis.find")
         }}</Button>
-        <!-- jump(跳转) -->
-        <Button class="jump" type="primary" @click="handleTabsJump">{{ 
$t("message.linkis.eurekaRegisterCenter") }}</Button>
+        <!-- 跳转 -->
+        <Button class="jump" type="primary" @click="handleTabsJump">{{ 
$t("message.linkis.serviceRegistryCenter") }}</Button>
       </Col>
     </Row>
     <Table
@@ -256,7 +256,7 @@ export default {
     },
     //Jump to Microservices(跳转到微服务)
     handleTabsJump() {
-      api.fetch("/microservice/eurekaURL", "get").then((rst) => {
+      api.fetch("/microservice/serviceRegistryURL", "get").then((rst) => {
         window.open(rst.url, "_blank");
       });
     },


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to