You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ni...@apache.org on 2019/04/01 08:27:11 UTC

[servicecomb-pack] branch master updated: SCB-1233 Release version removes eureka dependencies

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

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


The following commit(s) were added to refs/heads/master by this push:
     new fc07239  SCB-1233 Release version removes eureka dependencies
fc07239 is described below

commit fc07239e07407664288a95a73bf2c111b82b672a
Author: 张磊 <co...@gmail.com>
AuthorDate: Mon Apr 1 15:07:35 2019 +0800

    SCB-1233 Release version removes eureka dependencies
---
 alpha/alpha-server/pom.xml                         |  25 ---
 .../alpha/server/AlphaIntegrationEventTest.java    |  65 --------
 docs/user_guide.md                                 | 170 +++++++++++----------
 docs/user_guide_zh.md                              | 170 +++++++++++----------
 4 files changed, 180 insertions(+), 250 deletions(-)

diff --git a/alpha/alpha-server/pom.xml b/alpha/alpha-server/pom.xml
index 228fd15..a079552 100644
--- a/alpha/alpha-server/pom.xml
+++ b/alpha/alpha-server/pom.xml
@@ -82,29 +82,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.servicecomb.pack</groupId>
-      <artifactId>alpha-spring-cloud-starter-eureka</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.servicecomb.pack</groupId>
       <artifactId>alpha-spring-cloud-starter-consul</artifactId>
-      <exclusions>
-        <exclusion>
-          <artifactId>spring-cloud-commons</artifactId>
-          <groupId>org.springframework.cloud</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>spring-cloud-context</artifactId>
-          <groupId>org.springframework.cloud</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>spring-cloud-netflix-core</artifactId>
-          <groupId>org.springframework.cloud</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
-          <groupId>org.springframework.cloud</groupId>
-        </exclusion>
-      </exclusions>
     </dependency>
     <dependency>
       <groupId>org.apache.servicecomb.pack</groupId>
@@ -269,9 +247,6 @@
     <profile>
       <id>spring-cloud-eureka</id>
       <!-- Specify the alpha spring boot starter with the profile-->
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
       <dependencies>
         <dependency>
           <groupId>org.apache.servicecomb.pack</groupId>
diff --git a/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationEventTest.java b/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationEventTest.java
deleted file mode 100644
index 0cb3804..0000000
--- a/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationEventTest.java
+++ /dev/null
@@ -1,65 +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.servicecomb.pack.alpha.server;
-
-import com.google.common.eventbus.EventBus;
-import org.apache.servicecomb.pack.alpha.core.event.GrpcStartableStartedEvent;
-import org.junit.*;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean;
-import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
-
-import java.util.*;
-
-import static org.apache.servicecomb.pack.alpha.server.discovery.eureka.GrpcStartableStartedEventListener.ALPHA_SERVER_GRPC_ADDRESS_KEY;
-import static org.awaitility.Awaitility.await;
-import static org.hamcrest.Matchers.contains;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.when;
-
-@RunWith(SpringRunner.class)
-@ActiveProfiles("test")
-@SpringBootTest(classes = {AlphaApplication.class, AlphaConfig.class},
-    properties = {
-        "alpha.server.host=0.0.0.0",
-        "alpha.server.port=8080",
-        "eureka.client.enabled=true"
-       })
-public class AlphaIntegrationEventTest {
-
-  @Autowired
-  private EventBus eventBus;
-
-  @MockBean
-  private EurekaInstanceConfigBean eurekaInstanceConfigBean;
-
-  @Test
-  public void eurekaInstanceConfigBeanPortUpdater(){
-    when(eurekaInstanceConfigBean.getMetadataMap()).thenReturn(new HashMap<>());
-    this.eurekaInstanceConfigBean.getMetadataMap().put(ALPHA_SERVER_GRPC_ADDRESS_KEY,"0.0.0.0:0");
-    eventBus.post(new GrpcStartableStartedEvent(9000));
-    assertThat(eurekaInstanceConfigBean.getMetadataMap().get(ALPHA_SERVER_GRPC_ADDRESS_KEY),is("0.0.0.0:9000"));
-  }
-
-}
diff --git a/docs/user_guide.md b/docs/user_guide.md
index 15f7e74..051920f 100644
--- a/docs/user_guide.md
+++ b/docs/user_guide.md
@@ -218,86 +218,6 @@ See [Enabling SSL](enable_ssl.md) for details.
 
 Alpha instance can register to the discovery service, Omega obtains Alpha's instance list and gRPC address through discovery service
 
-### Spring Cloud Eureka
-
-Uses Spring Cloud Netflix 2.x by default, if you want to use Spring Cloud Netflix 1.x, you can use `-Pspring-boot-1` to switch Spring Cloud Netflix 1.x
-
-1. run alpha
-
-   run with parameter `eureka.client.enabled=true`
-
-   ```bash
-   java -jar alpha-server-${saga_version}-exec.jar \ 
-     --spring.datasource.url=jdbc:postgresql://${host_address}:5432/saga?useSSL=false \
-     --spring.datasource.username=saga \
-     --spring.datasource.password=saga \
-     --eureka.client.enabled=true \
-     --eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka \  
-     --spring.profiles.active=prd 
-   ```
-   **Note:** Check out  [Spring Cloud Netflix 2.x](https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter) [Spring Cloud Netflix 1.x](https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter) for more details
-
-2. verify registration information
-
-   request `curl http://127.0.0.1:8761/eureka/apps/`, It responds with the following XML
-
-   ```xml
-   <applications>
-     <versions__delta>1</versions__delta>
-     <apps__hashcode>UP_1_</apps__hashcode>
-     <application>
-       <name>SERVICECOMB-ALPHA-SERVER</name>
-       <instance>
-         <instanceId>0.0.0.0::servicecomb-alpha-server:8090</instanceId>
-         <hostName>0.0.0.0</hostName>
-         <app>SERVICECOMB-ALPHA-SERVER</app>
-         <ipAddr>0.0.0.0</ipAddr>
-         <status>UP</status>
-      ...
-         <metadata>
-           <management.port>8090</management.port>
-           <servicecomb-alpha-server>0.0.0.0:8080</servicecomb-alpha-server>
-         </metadata>
-         ...
-       </instance>
-     </application>
-   </applications>
-   ```
-
-   **Note:**  `<servicecomb-alpha-server>` property is alpha gRPC address
-
-   **Note:** alpha instance name is `SERVICECOMB-ALPHA-SERVER` by default. You can set it by starting parameter  `spring.application.name` 
-
-3. setup omega
-
-   edit your `pom.xml` and add the `omega-spring-cloud-eureka-starter` dependency
-
-   ```xml
-   <dependency>
-    <groupId>org.apache.servicecomb.pack</groupId>
-    <artifactId>omega-spring-cloud-eureka-starter</artifactId>
-    <version>${pack.version}</version>
-   </dependency>
-   ```
-
-   edit your  `application.yaml` , as shown in the following example:
-
-   ```yaml
-   eureka:
-     client:
-       service-url:
-         defaultZone: http://127.0.0.1:8761/eureka
-   alpha:
-     cluster:
-       register:
-         type: eureka
-   ```
-
-   * `eureka.client.service-url.defaultZone` property is set to the Eureka server’s instance address, check out Spring Boot’s  [Spring Cloud Netflix 2.x](https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter) or [Spring Cloud Netflix 1.x](https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter) for more details.
-   * `alpha.cluster.register.type=eureka`  property is omega gets alpha gRPC address from Eureka
-
-   **Note:** If you define `spring.application.name ` parameter when start alpha,  You need to specify this service name in Omega via the parameter `alpha.cluster.serviceId`
-
 ### Consul
 
 Uses Spring Cloud Consul 2.x by default, if you want to use Spring Cloud Consul 1.x, you can use `-Pspring-boot-1` to switch Spring Cloud Consul 1.x
@@ -385,6 +305,96 @@ Uses Spring Cloud Consul 2.x by default, if you want to use Spring Cloud Consul
 
    **Note:** If you define `spring.application.name ` parameter when start alpha,  You need to specify this service name in Omega via the parameter `alpha.cluster.serviceId`
 
+### Spring Cloud Eureka
+
+Uses Spring Cloud Netflix 2.x by default, if you want to use Spring Cloud Netflix 1.x, you can use `-Pspring-boot-1` to switch Spring Cloud Netflix 1.x
+
+1. build version of eureka
+
+   build the version support eureka with the  `-Pspring-cloud-eureka`  parameter
+
+   ```bash
+   git clone https://github.com/apache/servicecomb-pack.git
+   cd servicecomb-pack
+   mvn clean install -DskipTests=true -Pspring-boot-2,spring-cloud-eureka
+   ```
+
+2. run alpha
+
+   run with parameter `eureka.client.enabled=true`
+
+   ```bash
+   java -jar alpha-server-${saga_version}-exec.jar \ 
+     --spring.datasource.url=jdbc:postgresql://${host_address}:5432/saga?useSSL=false \
+     --spring.datasource.username=saga \
+     --spring.datasource.password=saga \
+     --eureka.client.enabled=true \
+     --eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka \  
+     --spring.profiles.active=prd 
+   ```
+   **Note:** Check out  [Spring Cloud Netflix 2.x](https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter) [Spring Cloud Netflix 1.x](https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter) for more details
+
+3. verify registration information
+
+   request `curl http://127.0.0.1:8761/eureka/apps/`, It responds with the following XML
+
+   ```xml
+   <applications>
+     <versions__delta>1</versions__delta>
+     <apps__hashcode>UP_1_</apps__hashcode>
+     <application>
+       <name>SERVICECOMB-ALPHA-SERVER</name>
+       <instance>
+         <instanceId>0.0.0.0::servicecomb-alpha-server:8090</instanceId>
+         <hostName>0.0.0.0</hostName>
+         <app>SERVICECOMB-ALPHA-SERVER</app>
+         <ipAddr>0.0.0.0</ipAddr>
+         <status>UP</status>
+      ...
+         <metadata>
+           <management.port>8090</management.port>
+           <servicecomb-alpha-server>0.0.0.0:8080</servicecomb-alpha-server>
+         </metadata>
+         ...
+       </instance>
+     </application>
+   </applications>
+   ```
+
+   **Note:**  `<servicecomb-alpha-server>` property is alpha gRPC address
+
+   **Note:** alpha instance name is `SERVICECOMB-ALPHA-SERVER` by default. You can set it by starting parameter  `spring.application.name` 
+
+4. setup omega
+
+   edit your `pom.xml` and add the `omega-spring-cloud-eureka-starter` dependency
+
+   ```xml
+   <dependency>
+    <groupId>org.apache.servicecomb.pack</groupId>
+    <artifactId>omega-spring-cloud-eureka-starter</artifactId>
+    <version>${pack.version}</version>
+   </dependency>
+   ```
+
+   edit your  `application.yaml` , as shown in the following example:
+
+   ```yaml
+   eureka:
+     client:
+       service-url:
+         defaultZone: http://127.0.0.1:8761/eureka
+   alpha:
+     cluster:
+       register:
+         type: eureka
+   ```
+
+   * `eureka.client.service-url.defaultZone` property is set to the Eureka server’s instance address, check out Spring Boot’s  [Spring Cloud Netflix 2.x](https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter) or [Spring Cloud Netflix 1.x](https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter) for more details.
+   * `alpha.cluster.register.type=eureka`  property is omega gets alpha gRPC address from Eureka
+
+   **Note:** If you define `spring.application.name ` parameter when start alpha,  You need to specify this service name in Omega via the parameter `alpha.cluster.serviceId`
+
 ## Cluster
 
 Alpha can be highly available by deploying multiple instances, enable cluster support with the `alpha.cluster.master.enabled=true` parameter.
\ No newline at end of file
diff --git a/docs/user_guide_zh.md b/docs/user_guide_zh.md
index a9cd248..9875b0b 100644
--- a/docs/user_guide_zh.md
+++ b/docs/user_guide_zh.md
@@ -222,85 +222,6 @@ Saga可通过以下任一方式进行构建:
 
 支持Alpha启动时注册到发现服务,Omega通过发现服务获取Alpha的实例列表和gRPC地址
 
-### Spring Cloud Eureka支持
-
-当前版本支持 Spring Cloud Netflix 2.x,你可以使用 `-Pspring-boot-1` 参数重新编译支持 Spring Cloud Netflix 1.x 版本
-
-1. 运行alpha
-
-   运行时增加 `eureka.client.enabled=true` 参数
-
-   ```bash
-   java -jar alpha-server-${saga_version}-exec.jar \ 
-     --spring.datasource.url=jdbc:postgresql://${host_address}:5432/saga?useSSL=false \
-     --spring.datasource.username=saga \
-     --spring.datasource.password=saga \
-     --eureka.client.enabled=true \
-     --eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka \  
-     --spring.profiles.active=prd 
-   ```
-
-   **注意:** 更多 eureka 参数请参考 [Spring Cloud Netflix 2.x](https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter) [Spring Cloud Netflix 1.x](https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter)
-
-3. 验证是否注册成功
-
-   访问Eureka的注册实例查询接口`curl http://127.0.0.1:8761/eureka/apps/`可以看到如下注册信息,在你metadata中可以看到Alpha的gRPC访问地址`<servicecomb-alpha-server>0.0.0.0:8080</servicecomb-alpha-server>`已经注册
-
-   ```xml
-   <applications>
-     <versions__delta>1</versions__delta>
-     <apps__hashcode>UP_1_</apps__hashcode>
-     <application>
-       <name>SERVICECOMB-ALPHA-SERVER</name>
-       <instance>
-         <instanceId>0.0.0.0::servicecomb-alpha-server:8090</instanceId>
-         <hostName>0.0.0.0</hostName>
-         <app>SERVICECOMB-ALPHA-SERVER</app>
-         <ipAddr>0.0.0.0</ipAddr>
-         <status>UP</status>
-   	  ...
-         <metadata>
-           <management.port>8090</management.port>
-           <servicecomb-alpha-server>0.0.0.0:8080</servicecomb-alpha-server>
-         </metadata>
-         ...
-       </instance>
-     </application>
-   </applications>
-   ```
-
-   **注意:** 默认情况下注册的服务名是`SERVICECOMB-ALPHA-SERVER`,如果你需要自定义服务名可以在运行Alpha的时候通过命令行参数`spring.application.name`配置
-
-4. 配置omega
-
-   在项目中引入依赖包 `omega-spring-cloud-eureka-starter`
-
-   ```xml
-   <dependency>
-   	<groupId>org.apache.servicecomb.pack</groupId>
-   	<artifactId>omega-spring-cloud-eureka-starter</artifactId>
-   	<version>${pack.version}</version>
-   </dependency>
-   ```
-
-   在 `application.yaml` 添加下面的配置项:
-
-   ```yaml
-   eureka:
-     client:
-       service-url:
-         defaultZone: http://127.0.0.1:8761/eureka
-   alpha:
-     cluster:
-       register:
-         type: eureka
-   ```
-
-   * `eureka.client.service-url.defaultZone` 配置Eureka注册中心的地址,更多Eureka客户端配置可以参考[Spring Cloud Netflix 2.x](https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter) 或 [Spring Cloud Netflix 1.x](https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter)
-   * `alpha.cluster.register.type=eureka` 配置Omega获取Alpha的方式是通过Eureka的注册中心
-
-   **注意:** 如果你在启动Alpha的时候通过命令行参数`spring.application.name`自定义了服务名,那么你需要在Omega中通过参数`alpha.cluster.serviceId`指定这个服务名
-
 ### Consul 支持
 
 当前版本支持 Spring Cloud Consul 2.x,你可以使用 `-Pspring-boot-1` 参数重新编译支持 Spring Cloud Consul 1.x 版本
@@ -385,7 +306,96 @@ Saga可通过以下任一方式进行构建:
    - `alpha.cluster.register.type=consul` 配置Omega获取Alpha的方式是通过 Consul 的注册中心
 
    **注意:** 如果你在启动Alpha的时候通过命令行参数`spring.application.name`自定义了服务名,那么你需要在Omega中通过参数`alpha.cluster.serviceId`指定这个服务名
-   
+
+### Spring Cloud Eureka支持
+
+当前版本支持 Spring Cloud Netflix 2.x,你可以使用 `-Pspring-boot-1` 参数重新编译支持 Spring Cloud Netflix 1.x 版本
+
+1. 编译 eureka 的版本
+
+   使用 `-Pspring-cloud-eureka` 参数编译支持 eureka 的版本
+
+   ```bash
+   git clone https://github.com/apache/servicecomb-pack.git
+   cd servicecomb-pack
+   mvn clean install -DskipTests=true -Pspring-boot-2,spring-cloud-eureka
+   ```
+
+2. 运行alpha
+
+   运行时增加 `eureka.client.enabled=true` 参数
+
+   ```bash
+   java -jar alpha-server-${saga_version}-exec.jar \ 
+     --spring.datasource.url=jdbc:postgresql://${host_address}:5432/saga?useSSL=false \
+     --spring.datasource.username=saga \
+     --spring.datasource.password=saga \
+     --eureka.client.enabled=true \
+     --eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka \  
+     --spring.profiles.active=prd 
+   ```
+
+   **注意:** 更多 eureka 参数请参考 [Spring Cloud Netflix 2.x](https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter) [Spring Cloud Netflix 1.x](https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter)
+
+3. 验证是否注册成功
+
+   访问Eureka的注册实例查询接口`curl http://127.0.0.1:8761/eureka/apps/`可以看到如下注册信息,在你metadata中可以看到Alpha的gRPC访问地址`<servicecomb-alpha-server>0.0.0.0:8080</servicecomb-alpha-server>`已经注册
+
+   ```xml
+   <applications>
+     <versions__delta>1</versions__delta>
+     <apps__hashcode>UP_1_</apps__hashcode>
+     <application>
+       <name>SERVICECOMB-ALPHA-SERVER</name>
+       <instance>
+         <instanceId>0.0.0.0::servicecomb-alpha-server:8090</instanceId>
+         <hostName>0.0.0.0</hostName>
+         <app>SERVICECOMB-ALPHA-SERVER</app>
+         <ipAddr>0.0.0.0</ipAddr>
+         <status>UP</status>
+   	  ...
+         <metadata>
+           <management.port>8090</management.port>
+           <servicecomb-alpha-server>0.0.0.0:8080</servicecomb-alpha-server>
+         </metadata>
+         ...
+       </instance>
+     </application>
+   </applications>
+   ```
+
+   **注意:** 默认情况下注册的服务名是`SERVICECOMB-ALPHA-SERVER`,如果你需要自定义服务名可以在运行Alpha的时候通过命令行参数`spring.application.name`配置
+
+4. 配置omega
+
+   在项目中引入依赖包 `omega-spring-cloud-eureka-starter`
+
+   ```xml
+   <dependency>
+   	<groupId>org.apache.servicecomb.pack</groupId>
+   	<artifactId>omega-spring-cloud-eureka-starter</artifactId>
+   	<version>${pack.version}</version>
+   </dependency>
+   ```
+
+   在 `application.yaml` 添加下面的配置项:
+
+   ```yaml
+   eureka:
+     client:
+       service-url:
+         defaultZone: http://127.0.0.1:8761/eureka
+   alpha:
+     cluster:
+       register:
+         type: eureka
+   ```
+
+   * `eureka.client.service-url.defaultZone` 配置Eureka注册中心的地址,更多Eureka客户端配置可以参考[Spring Cloud Netflix 2.x](https://cloud.spring.io/spring-cloud-netflix/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter) 或 [Spring Cloud Netflix 1.x](https://cloud.spring.io/spring-cloud-netflix/1.4.x/multi/multi__service_discovery_eureka_clients.html#netflix-eureka-client-starter)
+   * `alpha.cluster.register.type=eureka` 配置Omega获取Alpha的方式是通过Eureka的注册中心
+
+   **注意:** 如果你在启动Alpha的时候通过命令行参数`spring.application.name`自定义了服务名,那么你需要在Omega中通过参数`alpha.cluster.serviceId`指定这个服务名
+
 ## 集群
 
 Alpha 可以通过部署多实例的方式保证高可用,使用 `alpha.cluster.master.enabled=true` 参数开启集群支持
\ No newline at end of file