diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b5d5009..e2ba0556 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,6 @@ - [feat:Support multi-discovery server.](https://github.com/Tencent/spring-cloud-tencent/pull/42) - [fix:fix [Deserialization of Untrusted Data in logback]](https://github.com/Tencent/spring-cloud-tencent/pull/44/files) - [feat:support customize registered ip address.](https://github.com/Tencent/spring-cloud-tencent/pull/47) -- [https://github.com/Tencent/spring-cloud-tencent/pull/51](https://github.com/Tencent/spring-cloud-tencent/pull/51) - [fix:fix import default log implement error](https://github.com/Tencent/spring-cloud-tencent/pull/53) - [send heartbeat if healthcheck url not configured](https://github.com/Tencent/spring-cloud-tencent/pull/54) - [feat:optimize project structure and checkstyle](https://github.com/Tencent/spring-cloud-tencent/pull/56) diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/filter/gateway/scg/MetadataFirstScgFilter.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/filter/gateway/scg/MetadataFirstScgFilter.java index f652d547..6d014a75 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/filter/gateway/scg/MetadataFirstScgFilter.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/filter/gateway/scg/MetadataFirstScgFilter.java @@ -58,7 +58,7 @@ public class MetadataFirstScgFilter implements GlobalFilter, Ordered { MetadataContext metadataContext = exchange .getAttribute(MetadataConstant.HeaderName.METADATA_CONTEXT); - // TODO 对端命名空间暂时与本地命名空间相同 + // TODO The peer namespace is temporarily the same as the local namespace metadataContext.putSystemMetadata( MetadataConstant.SystemMetadataKey.PEER_NAMESPACE, MetadataContextHolder.get().getSystemMetadata( diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/filter/gateway/zuul/MetadataFirstZuulFilter.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/filter/gateway/zuul/MetadataFirstZuulFilter.java index a049ee28..542826d8 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/filter/gateway/zuul/MetadataFirstZuulFilter.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/filter/gateway/zuul/MetadataFirstZuulFilter.java @@ -53,7 +53,7 @@ public class MetadataFirstZuulFilter extends ZuulFilter { // get request context RequestContext requestContext = RequestContext.getCurrentContext(); - // TODO 对端命名空间暂时与本地命名空间相同 + // TODO The peer namespace is temporarily the same as the local namespace MetadataContextHolder.get().putSystemMetadata( MetadataConstant.SystemMetadataKey.PEER_NAMESPACE, MetadataContextHolder.get().getSystemMetadata( diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/interceptor/feign/MetadataFirstFeignInterceptor.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/interceptor/feign/MetadataFirstFeignInterceptor.java index b8e077c2..168f45b8 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/interceptor/feign/MetadataFirstFeignInterceptor.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/interceptor/feign/MetadataFirstFeignInterceptor.java @@ -42,7 +42,7 @@ public class MetadataFirstFeignInterceptor implements RequestInterceptor, Ordere // get metadata of current thread MetadataContext metadataContext = MetadataContextHolder.get(); - // TODO 对端命名空间暂时与本地命名空间相同 + // TODO The peer namespace is temporarily the same as the local namespace metadataContext.putSystemMetadata( MetadataConstant.SystemMetadataKey.PEER_NAMESPACE, MetadataContextHolder.get().getSystemMetadata( diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/intercepter/feign/Metadata2HeaderFeignInterceptorTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/intercepter/feign/Metadata2HeaderFeignInterceptorTest.java index 0ec439f0..aa1284b6 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/intercepter/feign/Metadata2HeaderFeignInterceptorTest.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/intercepter/feign/Metadata2HeaderFeignInterceptorTest.java @@ -68,9 +68,9 @@ public class Metadata2HeaderFeignInterceptorTest { public void test1() throws JsonProcessingException { String metadata = testFeign.test(); ObjectMapper mapper = new ObjectMapper(); - Assertions.assertThat(mapper.readTree(metadata)).isEqualTo(mapper.readTree( + Assertions.assertThat(metadata).isEqualTo( "{\"a\":\"11\",\"b\":\"22\",\"c\":\"33\"}{\"LOCAL_SERVICE\":\"test" - + "\",\"LOCAL_PATH\":\"/test\",\"LOCAL_NAMESPACE\":\"default\"}")); + + "\",\"LOCAL_PATH\":\"/test\",\"LOCAL_NAMESPACE\":\"default\"}"); Assertions.assertThat(metadataLocalProperties.getContent().get("a")) .isEqualTo("1"); Assertions.assertThat(metadataLocalProperties.getContent().get("b")) diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml b/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml index 414a9073..6496dd85 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml @@ -23,6 +23,11 @@ com.tencent.cloud spring-cloud-tencent-polaris-context + + + com.tencent.cloud + spring-cloud-starter-tencent-metadata-transfer + diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/PolarisFeignClientAutoConfiguration.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/PolarisFeignClientAutoConfiguration.java index d4b81277..634abf6e 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/PolarisFeignClientAutoConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/PolarisFeignClientAutoConfiguration.java @@ -70,7 +70,7 @@ public class PolarisFeignClientAutoConfiguration { @Override public void modify(ConfigurationImpl configuration) { - // 开启熔断配置 + // Enable circuit breaker. configuration.getConsumer().getCircuitBreaker().setEnable(true); } diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignClientTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignClientTest.java index e2f80848..b37c1792 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignClientTest.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignClientTest.java @@ -30,6 +30,8 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; /** + * Test for {@link PolarisFeignClient}. + * * @author liaochuntao */ @RunWith(SpringRunner.class) diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/TestPolarisFeignApp.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/TestPolarisFeignApp.java index 0fb951af..b593392d 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/TestPolarisFeignApp.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/feign/TestPolarisFeignApp.java @@ -25,6 +25,8 @@ import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.GetMapping; /** + * Test application. + * * @author liaochuntao */ @SpringBootApplication diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/resources/application.yml b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/resources/application.yml index 07f266da..06500ed9 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/resources/application.yml +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/resources/application.yml @@ -8,8 +8,8 @@ feign: enable: true compression: request: - enabled: false #是否对请求进行GZIP压缩 - mime-types: text/xml,application/xml,application/json #指定压缩的请求数据类型 - min-request-size: 2048 #超过该大小的请求会被压缩 + enabled: false + mime-types: text/xml,application/xml,application/json + min-request-size: 2048 response: - enabled: false #是否对响应进行GZIP压缩 + enabled: false diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryAutoConfiguration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryAutoConfiguration.java index acd7b350..5369929c 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryAutoConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryAutoConfiguration.java @@ -19,6 +19,7 @@ package com.tencent.cloud.polaris.discovery; import com.tencent.cloud.polaris.PolarisProperties; import com.tencent.cloud.polaris.discovery.reactive.PolarisReactiveDiscoveryClientConfiguration; +import com.tencent.cloud.polaris.extend.consul.ConsulContextProperties; import com.tencent.polaris.api.core.ConsumerAPI; import com.tencent.polaris.api.core.ProviderAPI; import com.tencent.polaris.api.exception.PolarisException; @@ -39,7 +40,8 @@ import org.springframework.context.annotation.Import; @Configuration(proxyBeanMethods = false) @ConditionalOnPolarisDiscoveryEnabled @Import({ PolarisDiscoveryClientConfiguration.class, - PolarisReactiveDiscoveryClientConfiguration.class }) + PolarisReactiveDiscoveryClientConfiguration.class, + ConsulContextProperties.class }) public class PolarisDiscoveryAutoConfiguration { @Bean diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/extend/consul/ConsulContextProperties.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/extend/consul/ConsulContextProperties.java similarity index 98% rename from spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/extend/consul/ConsulContextProperties.java rename to spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/extend/consul/ConsulContextProperties.java index c3976e31..e9b0e7fc 100644 --- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/extend/consul/ConsulContextProperties.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/extend/consul/ConsulContextProperties.java @@ -15,7 +15,7 @@ * specific language governing permissions and limitations under the License. */ -package com.tencent.cloud.polaris.context.extend.consul; +package com.tencent.cloud.polaris.extend.consul; import java.util.ArrayList; import java.util.Collections; diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java index 5ae88311..727b38a5 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistration.java @@ -27,6 +27,8 @@ import org.springframework.cloud.client.serviceregistry.ServiceRegistry; import org.springframework.util.StringUtils; /** + * Auto service registration of Polaris. + * * @author Haotian Zhang, Andrew Shan, Jie Cheng */ public class PolarisAutoServiceRegistration diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java index 59de61b7..8ceb155b 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisRegistration.java @@ -30,6 +30,8 @@ import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.serviceregistry.Registration; /** + * Registration object of Polaris. + * * @author Haotian Zhang, Andrew Shan, Jie Cheng */ public class PolarisRegistration implements Registration, ServiceInstance { diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java index 116035c6..d4ff6888 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistry.java @@ -45,6 +45,8 @@ import org.springframework.util.StringUtils; import static org.springframework.util.ReflectionUtils.rethrowRuntimeException; /** + * Service registry of Polaris. + * * @author Haotian Zhang, Andrew Shan, Jie Cheng */ public class PolarisServiceRegistry implements ServiceRegistry { @@ -86,7 +88,7 @@ public class PolarisServiceRegistry implements ServiceRegistry { log.warn("No service to register for polaris client..."); return; } - // 注册实例 + // Register instance. InstanceRegisterRequest instanceRegisterRequest = new InstanceRegisterRequest(); instanceRegisterRequest.setNamespace(polarisProperties.getNamespace()); instanceRegisterRequest.setService(registration.getServiceId()); @@ -110,7 +112,7 @@ public class PolarisServiceRegistry implements ServiceRegistry { if (null != heartbeatExecutor) { InstanceHeartbeatRequest heartbeatRequest = new InstanceHeartbeatRequest(); BeanUtils.copyProperties(instanceRegisterRequest, heartbeatRequest); - // 注册成功后开始启动心跳线程 + // Start the heartbeat thread after the registration is successful. heartbeat(heartbeatRequest); } } @@ -190,7 +192,11 @@ public class PolarisServiceRegistry implements ServiceRegistry { heartbeatExecutor.scheduleWithFixedDelay(() -> { try { String healthCheckEndpoint = polarisProperties.getHealthCheckUrl(); - // 先判断是否配置了health-check-url,如果配置了,需要先进行服务实例健康检查,如果健康检查通过,则进行心跳上报,如果不通过,则不上报心跳 + // First determine whether health-check-url is configured. + // If configured, the service instance health check needs to be executed + // first. + // If the health check passes, the heartbeat will be reported. + // If it does not pass, the heartbeat will not be reported. if (Strings.isNotEmpty(healthCheckEndpoint)) { if (!healthCheckEndpoint.startsWith("/")) { healthCheckEndpoint = "/" + healthCheckEndpoint; diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfiguration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfiguration.java index 058536d4..a3209fb7 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfiguration.java @@ -35,6 +35,8 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** + * Autoconfiguration of service registry of Polaris. + * * @author Haotian Zhang, Andrew Shan, Jie Cheng */ @Configuration(proxyBeanMethods = false) diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/ribbon/PolarisDiscoveryRibbonAutoConfiguration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/ribbon/PolarisDiscoveryRibbonAutoConfiguration.java index be581457..34ecb8d9 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/ribbon/PolarisDiscoveryRibbonAutoConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/ribbon/PolarisDiscoveryRibbonAutoConfiguration.java @@ -26,6 +26,8 @@ import org.springframework.cloud.netflix.ribbon.RibbonClients; import org.springframework.context.annotation.Configuration; /** + * Autoconfiguration of ribbon of Polaris. + * * @author Haotian Zhang, Andrew Shan, Jie Cheng */ @Configuration(proxyBeanMethods = false) diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/ribbon/PolarisRibbonServerListConfiguration.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/ribbon/PolarisRibbonServerListConfiguration.java index 81b8af79..f79bd2db 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/ribbon/PolarisRibbonServerListConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/ribbon/PolarisRibbonServerListConfiguration.java @@ -27,6 +27,8 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** + * Configuration of server list. + * * @author Haotian Zhang, Andrew Shan, Jie Cheng */ @Configuration diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/ribbon/PolarisServerList.java b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/ribbon/PolarisServerList.java index d716b544..77698eea 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/ribbon/PolarisServerList.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/main/java/com/tencent/cloud/polaris/ribbon/PolarisServerList.java @@ -30,6 +30,8 @@ import com.tencent.polaris.api.pojo.ServiceInstances; import com.tencent.polaris.api.rpc.InstancesResponse; /** + * Server list of Polaris. + * * @author Haotian Zhang, Andrew Shan, Jie Cheng */ public class PolarisServerList extends AbstractServerList { diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisPropertiesTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisPropertiesTest.java index 6b40c732..d140c8a8 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisPropertiesTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisPropertiesTest.java @@ -40,13 +40,13 @@ public class PolarisPropertiesTest { new InetUtils(new InetUtilsProperties())); try { temp.setNamespace(NAMESPACE_TEST); - temp.getNamespace(); + assertThat(temp.getNamespace()).isEqualTo(NAMESPACE_TEST); temp.setService(SERVICE_PROVIDER); - temp.getService(); + assertThat(temp.getService()).isEqualTo(SERVICE_PROVIDER); temp.setToken("xxxxxx"); - temp.getToken(); + assertThat(temp.getToken()).isEqualTo("xxxxxx"); temp.init(); assertThat(temp).isNotNull(); diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/ribbon/PolarisServerListTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/ribbon/PolarisServerListTest.java index 53dd1eb9..b7ffb7e6 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/ribbon/PolarisServerListTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/ribbon/PolarisServerListTest.java @@ -108,7 +108,7 @@ public class PolarisServerListTest { */ @Test @SuppressWarnings("unchecked") - public void test2() throws Exception { + public void test2() { this.contextRunner.run(context -> { // mock IClientConfig iClientConfig = mock(IClientConfig.class); diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/pom.xml b/spring-cloud-starter-tencent-polaris-ratelimit/pom.xml index 8dd748db..4d475009 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/pom.xml +++ b/spring-cloud-starter-tencent-polaris-ratelimit/pom.xml @@ -27,7 +27,7 @@ com.tencent.cloud - spring-cloud-tencent-commons + spring-cloud-starter-tencent-metadata-transfer diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilter.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilter.java index 643be80a..80b26220 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilter.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilter.java @@ -102,7 +102,8 @@ public class QuotaCheckReactiveFilter implements WebFilter, Ordered { } } catch (Throwable t) { - // 限流API调用出现异常,不应该影响业务流程的调用 + // An exception occurs in the rate limiting API call, + // which should not affect the call of the business process. LOG.error("fail to invoke getQuota, service is " + localService, t); } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilter.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilter.java index 7707be3f..8aca82fd 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilter.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilter.java @@ -90,7 +90,8 @@ public class QuotaCheckServletFilter extends OncePerRequestFilter { } } catch (Throwable t) { - // 限流API调用出现异常,不应该影响业务流程的调用 + // An exception occurs in the rate limiting API call, + // which should not affect the call of the business process. LOG.error("fail to invoke getQuota, service is " + localService, t); filterChain.doFilter(request, response); } diff --git a/spring-cloud-starter-tencent-polaris-router/pom.xml b/spring-cloud-starter-tencent-polaris-router/pom.xml index aba5e52f..d94e8422 100644 --- a/spring-cloud-starter-tencent-polaris-router/pom.xml +++ b/spring-cloud-starter-tencent-polaris-router/pom.xml @@ -18,22 +18,27 @@ com.tencent.cloud spring-cloud-tencent-commons - + - - com.tencent.cloud - spring-cloud-tencent-polaris-context - - + + com.tencent.cloud + spring-cloud-tencent-polaris-context + - - - com.tencent.polaris - polaris-router-factory - + + com.tencent.cloud + spring-cloud-starter-tencent-metadata-transfer + + - - com.tencent.polaris + + + com.tencent.polaris + polaris-router-factory + + + + com.tencent.polaris polaris-test-common test diff --git a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/config/PolarisRibbonClientConfiguration.java b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/config/PolarisRibbonClientConfiguration.java index 050b1ac5..6fa1dc51 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/config/PolarisRibbonClientConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/config/PolarisRibbonClientConfiguration.java @@ -33,6 +33,8 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** + * Configuration of ribbon client of Polaris. + * * @author Haotian Zhang */ @Configuration diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/ContextConstant.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/ContextConstant.java index b7d2fae8..7b0c0b85 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/ContextConstant.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/constant/ContextConstant.java @@ -20,7 +20,7 @@ package com.tencent.cloud.common.constant; /** * Constant for Context. * - * @author skyehtzhang + * @author Haotian Zhang */ public final class ContextConstant { diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/pom.xml b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/pom.xml index e365201e..26e2ac4b 100644 --- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/pom.xml +++ b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/pom.xml @@ -17,68 +17,16 @@ - - org.springframework.boot - spring-boot-starter-web - - - - spring-cloud-starter-tencent-polaris-discovery - com.tencent.cloud - - - - spring-cloud-starter-tencent-polaris-circuitbreaker - com.tencent.cloud - - - - com.tencent.cloud - spring-cloud-tencent-polaris-context - - - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - io.github.openfeign - feign-okhttp - - - - - org.springframework.cloud - spring-cloud-starter-netflix-ribbon - - - - - org.springframework.retry - spring-retry - - - - - - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - org.springframework.cloud - spring-cloud-dependencies - ${spring.cloud.version} - pom - import - - - + + org.springframework.boot + spring-boot-starter-web + + + + com.tencent.cloud + spring-cloud-starter-tencent-polaris-circuitbreaker + + diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ProviderB.java b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ProviderB.java index fb201cfd..a4f96e0b 100644 --- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ProviderB.java +++ b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ProviderB.java @@ -21,7 +21,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; /** - * service b provider. + * Circuit breaker example callee provider. * * @author Haotian Zhang */ diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ProviderBFallback.java b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ProviderBFallback.java index e71eb10d..c357b1e7 100644 --- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ProviderBFallback.java +++ b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ProviderBFallback.java @@ -20,7 +20,7 @@ package com.tencent.cloud.polaris.circuitbreaker.example; import org.springframework.stereotype.Component; /** - * provider b fallback + * Circuit breaker example callee fallback. * * @author Haotian Zhang */ diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceA.java b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceA.java index 7a20778b..bf77eccc 100644 --- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceA.java +++ b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceA.java @@ -19,28 +19,26 @@ package com.tencent.cloud.polaris.circuitbreaker.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Bean; import org.springframework.web.client.RestTemplate; /** - * circuitbraker example. + * Circuit breaker example caller application. * * @author Haotian Zhang */ @SpringBootApplication -@EnableDiscoveryClient @EnableFeignClients public class ServiceA { + public static void main(String[] args) { + SpringApplication.run(ServiceA.class); + } + @Bean public RestTemplate restTemplate() { return new RestTemplate(); } - public static void main(String[] args) { - SpringApplication.run(ServiceA.class); - } - } diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceAController.java b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceAController.java index b00e7522..d9d2e437 100644 --- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceAController.java +++ b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceAController.java @@ -17,15 +17,15 @@ package com.tencent.cloud.polaris.circuitbreaker.example; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; /** - * Service A Controller + * Circuit breaker example caller controller. * * @author Haotian Zhang */ @@ -33,34 +33,26 @@ import org.springframework.web.client.RestTemplate; @RequestMapping("/example/service/a") public class ServiceAController { - private final ProviderB polarisServiceB; + @Autowired + private ProviderB polarisServiceB; - private final RestTemplate restTemplate; - - public ServiceAController(ProviderB polarisServiceB, RestTemplate restTemplate) { - this.polarisServiceB = polarisServiceB; - this.restTemplate = restTemplate; - } - - /** - * 获取当前服务的信息 - * @return 返回服务信息 - */ - @GetMapping("/info") - public String info() { - return "hello world ! I'am a service"; - } + @Autowired + private RestTemplate restTemplate; /** - * 获取B服务的信息 - * @return 返回B服务的信息 + * Get info of Service B by Feign. + * @return info of Service B */ @GetMapping("/getBServiceInfo") public String getBServiceInfo() { return polarisServiceB.info(); } - @RequestMapping(value = "/testRest", method = RequestMethod.GET) + /** + * Get info of Service B by RestTemplate. + * @return info of Service B + */ + @GetMapping("/testRest") public String testRest() { ResponseEntity entity = restTemplate.getForEntity( "http://polaris-circuitbreaker-example-b/example/service/b/info", diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/resources/bootstrap.yml b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/resources/bootstrap.yml index c6b7d843..0a482fba 100644 --- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/resources/bootstrap.yml +++ b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/resources/bootstrap.yml @@ -1,5 +1,4 @@ server: - session-timeout: 1800 port: 48080 spring: application: @@ -7,29 +6,21 @@ spring: cloud: polaris: address: grpc://127.0.0.1:8091 -global: - api: - timeout: 5s - feign: hystrix: - enabled: true #在Feign中开启Hystrix + enabled: true compression: request: - enabled: false #是否对请求进行GZIP压缩 - mime-types: text/xml,application/xml,application/json #指定压缩的请求数据类型 - min-request-size: 2048 #超过该大小的请求会被压缩 + enabled: false + mime-types: text/xml,application/xml,application/json + min-request-size: 2048 response: - enabled: false #是否对响应进行GZIP压缩 - + enabled: false ribbon: polaris: enabled: true - # 同一实例最大重试次数,不包括首次调用 MaxAutoRetries: 1 - # 重试其他实例的最大重试次数,不包括首次所选的server MaxAutoRetriesNextServer: 2 - # 是否所有操作都进行重试 OkToRetryOnAllOperations: false ConnectionTimeout: 1000 ReadTimeout: 1000 diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/resources/polaris.yml b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/resources/polaris.yml index af1466d2..fbe20fc8 100644 --- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/resources/polaris.yml +++ b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-a/src/main/resources/polaris.yml @@ -1,284 +1,14 @@ -#描述:全局配置项 -global: - #描述系统相关配置 - system: - #描述:SDK运行模式 - #类型:enum - #范围:0(直连模式,SDK直接对接server); 1(代理模式,SDK只对接agent, 通过agent进行server的对接) - #默认值:0 - mode: 0 - #服务发现集群 - discoverCluster: - namespace: Polaris - service: polaris.discover - #可选:服务刷新间隔 - refreshInterval: 10m - #健康检查集群 - healthCheckCluster: - namespace: Polaris - service: polaris.healthcheck - #可选:服务刷新间隔 - refreshInterval: 10m - #监控上报集群 - monitorCluster: - namespace: Polaris - service: polaris.monitor - #可选:服务刷新间隔 - refreshInterval: 10m - api: - #描述:api超时时间 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[1ms:...] - #默认值:1s - timeout: 5s - #描述:上报间隔 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[1ms:...] - #默认值:10m - reportInterval: 10m - #描述:API因为网络原因调用失败后的重试次数 - #类型:int - #范围:[0:...] - #默认值:5 - maxRetryTimes: 5 - #描述:重试间隔 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[1s:...] - #默认值:1s - retryInterval: 1s - #描述:对接polaris server的相关配置 - serverConnector: - #描述:访问server的连接协议,SDK会根据协议名称会加载对应的插件 - #类型:string - #范围:已注册的连接器插件名 - #默认值:grpc - protocol: grpc - #描述:发起连接后的连接超时时间 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[1ms:...] - #默认值:200ms - connectTimeout: 500ms - #描述:远程请求超时时间 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[1ms:...] - #默认值:1s - messageTimeout: 5s - #描述:连接空闲时间,长连接模式下,当连接空闲超过一定时间后,SDK会主动释放连接 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[1ms:...] - #默认值:1s - connectionIdleTimeout: 1s - #描述:首次请求的任务队列长度,当用户发起首次服务访问请求时,SDK会对任务进行队列调度并连接server,当积压的任务数超过队列长度后,SDK会直接拒绝首次请求的发起。 - #类型:int - #范围:[0:...] - #默认值:1000 - requestQueueSize: 1000 - #描述:server节点的切换周期,为了使得server的压力能够均衡,SDK会定期针对最新的节点列表进行重新计算自己当前应该连接的节点,假如和当前不一致,则进行切换 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[1m:...] - #默认值:10m - serverSwitchInterval: 10m - plugin: - grpc: - #描述:GRPC客户端单次最大链路接收报文 - #类型:int - #范围:(0:524288000] - maxCallRecvMsgSize: 52428800 - #统计上报设置 - statReporter: - #描述:是否将统计信息上报至monitor - #类型:bool - #默认值:true - enable: true - #描述:启用的统计上报插件类型 - #类型:list - #范围:已经注册的统计上报插件的名字 - #默认值:stat2Monitor(将信息上报至monitor服务) - chain: - - stat2Monitor - - serviceCache - #描述:统计上报插件配置 - plugin: - stat2Monitor: - #描述:每次上报多长一段时间的统计信息 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[1m:...] - metricsReportWindow: 1m - #描述:将一段时间内的统计信息分为多少个基本单元收集 - #类型:int - #范围:[1:...] - #默认值:12 - metricsNumBuckets: 12 - serviceCache: - #描述:上报缓存信息的周期 - reportInterval: 3m -#描述:主调端配置 consumer: - #描述:本地缓存相关配置 - localCache: - #描述:缓存类型 - #类型:string - #范围:已注册的本地缓存插件名 - #默认值:inmemory(基于本机内存的缓存策略) - type: inmemory - #描述:服务过期淘汰时间 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[1m:...] - #默认值:24h - serviceExpireTime: 24h - #描述:服务定期刷新周期 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[1s:...] - #默认值:2s - serviceRefreshInterval: 2s - #描述:服务缓存持久化目录,SDK在实例数据更新后,按照服务维度将数据持久化到磁盘 - #类型:string - #格式:本机磁盘目录路径,支持$HOME变量 - #默认值:$HOME/polaris/backup - persistDir: ./polaris/backup - #描述:缓存写盘失败的最大重试次数 - #类型:int - #范围:[1:...] - #默认值:5 - persistMaxWriteRetry: 5 - #描述:缓存从磁盘读取失败的最大重试次数 - #类型:int - #范围:[1:...] - #默认值:1 - persistMaxReadRetry: 1 - #描述:缓存读写磁盘的重试间隔 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[1ms:...] - #默认值:1s - persistRetryInterval: 1s - #描述:服务路由相关配置 - serviceRouter: - # 服务路由链 - chain: - # 基于主调和被调服务规则的路由策略(默认的路由策略) - - ruleBasedRouter - # 就近路由策略 - - nearbyBasedRouter - #描述:服务路由插件的配置 - plugin: - nearbyBasedRouter: - #描述:就近路由的最小匹配级别 - #类型:string - #范围:region(大区)、zone(区域)、campus(园区) - #默认值:zone - matchLevel: zone - ruleBasedRouter: { } - recoverRouter: - #至少应该返回多少比率的实例,如果不填,默认0%,即全死全活 - percentOfMinInstances: 0 - #是否开启全死全活,默认开启 - enableRecoverAll: true - #描述:负载均衡相关配置 - loadbalancer: - #描述:负载均衡类型 - #范围:已注册的负载均衡插件名 - #默认值:权重随机负载均衡 - type: weightedRandom - plugin: - #描述:虚拟节点的数量 - #类型:int - #默认值:500 - ringHash: - vnodeCount: 500 - - #描述:节点熔断相关配置 circuitBreaker: - #描述:是否启用节点熔断功能 - #类型:bool - #默认值:true - enable: true - #描述:实例定时熔断检测周期 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[100ms:...] - #默认值:30s checkPeriod: 100ms - #描述:熔断器半开后最大允许的请求数 - #类型:int - #范围:[3:...] - #默认值:10 - requestCountAfterHalfOpen: 10 - #描述:熔断器打开后,多久后转换为半开状态 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[1s:...] - #默认值:30s - sleepWindow: 60s - #描述:熔断器半开到关闭所必须的最少成功请求数 - #类型:int - #范围:[1:requestCountAfterHalfOpen] - #默认值:8 - successCountAfterHalfOpen: 8 - #描述:熔断器半开到关闭的统计周期 - #类型:string - #范围:[10s:...] - #默认值:60s - recoverWindow: 60s - #描述:熔断器半开到关闭的统计滑桶数 - #类型:int - #范围:[1:...] - #默认值:10 - recoverNumBuckets: 10 - #描述:熔断策略,SDK会根据策略名称加载对应的熔断器插件 - #类型:list - #范围:已注册的熔断器插件名 - #默认值:基于周期连续错误数熔断(errorCount)、以及基于周期错误率的熔断策略(errorRate) chain: - errorCount - errorRate - #描述:熔断插件配置 plugin: - #描述:基于周期连续错误数熔断策略配置 errorCount: - #描述:触发连续错误熔断的阈值 - #类型:int - #范围:[1:...] - #默认值:10 continuousErrorThreshold: 1 - #描述:连续错误数的最小统计单元数量 - #类型:int - #范围:[1:...] - #默认值:10 metricNumBuckets: 1 - #描述:连续失败的统计周期 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[10ms:...] - #默认值:1m - metricStatTimeWindow: 100ms - #描述:基于周期错误率的熔断策略配置 errorRate: - #描述:触发错误率熔断的阈值百分比 - errorRateThreshold: 50 - #描述:错误率熔断的最小统计单元数量 - #类型:int - #范围:[1:...] - #默认值:5 - metricNumBuckets: 5 - #描述:错误率熔断的统计周期 - #类型:string - #格式:^\d+(ms|s|m|h)$ - #范围:[1s:...] - #默认值:1m + errorRateThreshold: 100 metricStatTimeWindow: 1s - #描述:触发错误率熔断的最低请求阈值 - #类型:int - #范围:(0:...] - #默认值:10 requestVolumeThreshold: 1 diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/pom.xml b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/pom.xml index 5042f175..61e33c45 100644 --- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/pom.xml +++ b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/pom.xml @@ -17,66 +17,11 @@ - - org.springframework.boot - spring-boot-starter-webflux - - - - spring-cloud-starter-tencent-polaris-discovery - com.tencent.cloud - - - spring-cloud-starter-tencent-polaris-circuitbreaker - com.tencent.cloud - - - com.tencent.cloud - spring-cloud-tencent-polaris-context - - - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - io.github.openfeign - feign-okhttp - - - - - org.springframework.cloud - spring-cloud-starter-netflix-ribbon - - - - - org.springframework.retry - spring-retry - - - - - - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - org.springframework.cloud - spring-cloud-dependencies - ${spring.cloud.version} - pom - import - - - + + org.springframework.boot + spring-boot-starter-webflux + + diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ProviderA.java b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ProviderA.java deleted file mode 100644 index 2e45cb07..00000000 --- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ProviderA.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Tencent is pleased to support the open source community by making Spring Cloud Tencent available. - * - * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. - * - * Licensed under the BSD 3-Clause License (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://opensource.org/licenses/BSD-3-Clause - * - * 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 com.tencent.cloud.polaris.circuitbreaker.example; - -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; - -/** - * service a provider. - * - * @author Haotian Zhang - */ -@FeignClient(name = "polaris-circuitbreaker-example-a", - fallback = ProviderAFallback.class) -public interface ProviderA { - - /** - * Get info of service A. - * @return info of service A - */ - @GetMapping("/example/service/a/info") - String info(); - -} diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ProviderAFallback.java b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ProviderAFallback.java deleted file mode 100644 index ef9deb1f..00000000 --- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ProviderAFallback.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Tencent is pleased to support the open source community by making Spring Cloud Tencent available. - * - * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. - * - * Licensed under the BSD 3-Clause License (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://opensource.org/licenses/BSD-3-Clause - * - * 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 com.tencent.cloud.polaris.circuitbreaker.example; - -import org.springframework.stereotype.Component; - -/** - * provider a fallback - * - * @author Haotian Zhang - */ -@Component -public class ProviderAFallback implements ProviderA { - - @Override - public String info() { - return "trigger the refuse for service a"; - } - -} diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceB.java b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceB.java index 4fe91984..7354da53 100644 --- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceB.java +++ b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceB.java @@ -19,28 +19,17 @@ package com.tencent.cloud.polaris.circuitbreaker.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -import org.springframework.cloud.openfeign.EnableFeignClients; -import org.springframework.context.annotation.Bean; -import org.springframework.web.client.RestTemplate; /** - * circuitbraker example. + * Circuit breaker example callee application. * * @author Haotian Zhang */ @SpringBootApplication -@EnableDiscoveryClient -@EnableFeignClients public class ServiceB { public static void main(String[] args) { SpringApplication.run(ServiceB.class); } - @Bean - public RestTemplate restTemplate() { - return new RestTemplate(); - } - } diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceBController.java b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceBController.java index 66fa40ce..6fed9f15 100644 --- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceBController.java +++ b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/java/com/tencent/cloud/polaris/circuitbreaker/example/ServiceBController.java @@ -17,15 +17,13 @@ package com.tencent.cloud.polaris.circuitbreaker.example; -import org.springframework.http.ResponseEntity; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.client.RestTemplate; /** - * Service B Controller + * Service B Controller. * * @author Haotian Zhang */ @@ -33,40 +31,21 @@ import org.springframework.web.client.RestTemplate; @RequestMapping("/example/service/b") public class ServiceBController { - private final ProviderA polarisServiceA; - - private final RestTemplate restTemplate; - - public ServiceBController(ProviderA polarisServiceA, RestTemplate restTemplate) { - this.polarisServiceA = polarisServiceA; - this.restTemplate = restTemplate; - } + @Value("${is-throw-runtime-exception:#{true}}") + private boolean isThrowRuntimeException; /** - * 获取当前服务的信息 - * @return 返回服务信息 + * Get service information. + * @return service information */ @GetMapping("/info") public String info() { - // return "hello world ! I'am a service"; - throw new RuntimeException("failed for call my service"); - } - - /** - * 获取B服务的信息 - * @return 返回B服务的信息 - */ - @GetMapping("/getAServiceInfo") - public String getAServiceInfo() { - return polarisServiceA.info(); - } - - @RequestMapping(value = "/testRest", method = RequestMethod.GET) - public String testRest() { - ResponseEntity entity = restTemplate.getForEntity( - "http://polaris-circuitbreaker-example-a/example/service/b/info", - String.class); - return entity.getBody(); + if (isThrowRuntimeException) { + throw new RuntimeException("failed for call my service"); + } + else { + return "hello world ! I'm a service B"; + } } } diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/resources/bootstrap.yml b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/resources/bootstrap.yml index 4e78d978..15e9fe79 100644 --- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/resources/bootstrap.yml +++ b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/polaris-circuitbreaker-example-b/src/main/resources/bootstrap.yml @@ -1,5 +1,4 @@ server: - session-timeout: 1800 port: 48081 spring: application: @@ -7,34 +6,4 @@ spring: cloud: polaris: address: grpc://127.0.0.1:8091 -global: - api: - timeout: 5s - -feign: - hystrix: - enabled: true #在Feign中开启Hystrix - compression: - request: - enabled: false #是否对请求进行GZIP压缩 - mime-types: text/xml,application/xml,application/json #指定压缩的请求数据类型 - min-request-size: 2048 #超过该大小的请求会被压缩 - response: - enabled: false #是否对响应进行GZIP压缩 - -ribbon: - polaris: - enabled: true - # 同一实例最大重试次数,不包括首次调用 - MaxAutoRetries: 1 - # 重试其他实例的最大重试次数,不包括首次所选的server - MaxAutoRetriesNextServer: 2 - # 是否所有操作都进行重试 - OkToRetryOnAllOperations: false - ConnectionTimeout: 1000 - ReadTimeout: 1000 - eager-load: - enabled: on - -serivceB: - url: http://localhost:48081 +is-throw-runtime-exception: false diff --git a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/pom.xml b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/pom.xml index d337185e..6e26c650 100644 --- a/spring-cloud-tencent-examples/polaris-circuitbreaker-example/pom.xml +++ b/spring-cloud-tencent-examples/polaris-circuitbreaker-example/pom.xml @@ -1,64 +1,38 @@ - - - spring-cloud-tencent-examples - com.tencent.cloud - ${revision} - ../pom.xml - - 4.0.0 - - polaris-circuitbreaker-example - pom - - - polaris-circuitbreaker-example-a - polaris-circuitbreaker-example-b - - - - - org.springframework.boot - spring-boot-starter-web - - - - org.springframework.boot - spring-boot-starter-test - test - - - - - org.springframework.boot - spring-boot-starter-actuator - - - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - - - org.springframework.cloud - spring-cloud-starter-netflix-hystrix - - - - - org.springframework.cloud - spring-cloud-starter-netflix-ribbon - - - - - org.springframework.retry - spring-retry - - + + + spring-cloud-tencent-examples + com.tencent.cloud + ${revision} + ../pom.xml + + 4.0.0 + + polaris-circuitbreaker-example + pom + + + polaris-circuitbreaker-example-a + polaris-circuitbreaker-example-b + + + + + spring-cloud-starter-tencent-polaris-discovery + com.tencent.cloud + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + org.springframework.cloud + spring-cloud-starter-netflix-ribbon + + \ No newline at end of file diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/pom.xml b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/pom.xml index 169f2114..49f58dcc 100644 --- a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/pom.xml +++ b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/pom.xml @@ -14,21 +14,21 @@ Polaris Discovery Callee Service - - spring-cloud-starter-tencent-polaris-discovery - com.tencent.cloud - + + spring-cloud-starter-tencent-polaris-discovery + com.tencent.cloud + - - - - + + + + - - - - - + + + + + diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/java/com/tencent/cloud/polaris/discovery/service/callee/DiscoveryCalleeController.java b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/java/com/tencent/cloud/polaris/discovery/service/callee/DiscoveryCalleeController.java index 5cf952ed..13793d25 100644 --- a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/java/com/tencent/cloud/polaris/discovery/service/callee/DiscoveryCalleeController.java +++ b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/java/com/tencent/cloud/polaris/discovery/service/callee/DiscoveryCalleeController.java @@ -17,27 +17,23 @@ package com.tencent.cloud.polaris.discovery.service.callee; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** + * Discovery callee controller. + * * @author Haotian Zhang */ @RestController @RequestMapping("/discovery/service/callee") public class DiscoveryCalleeController { - private static Logger logger = LoggerFactory - .getLogger(DiscoveryCalleeController.class); - /** - * 获取当前服务的信息 - * @return 返回服务信息 + * Get information of callee. + * @return information of callee */ @GetMapping("/info") public String info() { @@ -45,10 +41,10 @@ public class DiscoveryCalleeController { } /** - * 获取相加完的结果 - * @param value1 值1 - * @param value2 值2 - * @return 总值 + * Get sum of two value. + * @param value1 value 1 + * @param value2 value 2 + * @return sum */ @GetMapping("/sum") public int sum(@RequestParam int value1, @RequestParam int value2) { diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/java/com/tencent/cloud/polaris/discovery/service/callee/DiscoveryCalleeService.java b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/java/com/tencent/cloud/polaris/discovery/service/callee/DiscoveryCalleeService.java index 8f3195f2..72229bb0 100644 --- a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/java/com/tencent/cloud/polaris/discovery/service/callee/DiscoveryCalleeService.java +++ b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/java/com/tencent/cloud/polaris/discovery/service/callee/DiscoveryCalleeService.java @@ -19,13 +19,13 @@ package com.tencent.cloud.polaris.discovery.service.callee; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.web.bind.annotation.RestController; /** + * Discovery callee application. + * * @author Haotian Zhang */ @SpringBootApplication -@RestController public class DiscoveryCalleeService { public static void main(String[] args) { diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/resources/bootstrap.yml b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/resources/bootstrap.yml index c75893d3..66478159 100644 --- a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/resources/bootstrap.yml +++ b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/resources/bootstrap.yml @@ -1,5 +1,4 @@ server: - session-timeout: 1800 port: 48084 spring: application: diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/resources/log4j.properties b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/resources/log4j.properties deleted file mode 100644 index b0b20e72..00000000 --- a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/resources/log4j.properties +++ /dev/null @@ -1,15 +0,0 @@ -log4j.rootLogger=DEBUG,console,FILE - -log4j.appender.console=org.apache.log4j.ConsoleAppender -log4j.appender.console.threshold=INFO -log4j.appender.console.layout=org.apache.log4j.PatternLayout -log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [%5p] - %c -%F(%L) -%m%n - -log4j.appender.FILE=org.apache.log4j.RollingFileAppender -log4j.appender.FILE.Append=true - -log4j.appender.FILE.File=applog/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.log -log4j.appender.FILE.Threshold=INFO -log4j.appender.FILE.layout=org.apache.log4j.PatternLayout -log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [%5p] - %c -%F(%L) -%m%n -log4j.appender.FILE.MaxFileSize=10MB diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/resources/logback-spring.xml b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/resources/logback-spring.xml deleted file mode 100644 index 300805d1..00000000 --- a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - logback - - - - %d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n - - - - - - true - - - applog/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.log - - - - - %d{yyyy-MM-dd HH:mm:ss} -%msg%n - - - - - - - - - diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/resources/polaris.yml b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/resources/polaris.yml index 8e0b95dc..15028a10 100644 --- a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/resources/polaris.yml +++ b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-callee-service/src/main/resources/polaris.yml @@ -1,6 +1,10 @@ -global: - system: - discoverCluster: - sameAsBuiltin: true - healthCheckCluster: - sameAsBuiltin: true +#global: +# system: +# discoverCluster: +# sameAsBuiltin: false +# namespace: Polaris +# service: polaris.discover +# healthCheckCluster: +# sameAsBuiltin: false +# namespace: Polaris +# service: polaris.healthcheck diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/pom.xml b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/pom.xml index 11e6b940..df6a387b 100644 --- a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/pom.xml +++ b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/pom.xml @@ -19,9 +19,9 @@ - spring-cloud-starter-tencent-polaris-discovery - com.tencent.cloud - + com.tencent.cloud + spring-cloud-starter-tencent-polaris-discovery + diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCalleeService.java b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCalleeService.java index 29e3f5cd..11b65c78 100644 --- a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCalleeService.java +++ b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCalleeService.java @@ -22,17 +22,19 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; /** + * Discovery callee feign client. + * * @author Haotian Zhang */ @FeignClient(value = "DiscoveryCalleeService", - fallback = DiscoveryCalleeServiceCallback.class) + fallback = DiscoveryCalleeServiceFallback.class) public interface DiscoveryCalleeService { /** - * 求和计算 - * @param value1 值1 - * @param value2 值2 - * @return 总值 + * Get sum of two value. + * @param value1 value 1 + * @param value2 value 2 + * @return sum */ @GetMapping("/discovery/service/callee/sum") int sum(@RequestParam("value1") int value1, @RequestParam("value2") int value2); diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCalleeServiceCallback.java b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCalleeServiceFallback.java similarity index 89% rename from spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCalleeServiceCallback.java rename to spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCalleeServiceFallback.java index 2d087b0a..c526c958 100644 --- a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCalleeServiceCallback.java +++ b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCalleeServiceFallback.java @@ -20,10 +20,12 @@ package com.tencent.cloud.polaris.discovery.service.caller; import org.springframework.stereotype.Component; /** + * Discovery callee feign client fallback. + * * @author Haotian Zhang */ @Component -public class DiscoveryCalleeServiceCallback implements DiscoveryCalleeService { +public class DiscoveryCalleeServiceFallback implements DiscoveryCalleeService { @Override public int sum(int value1, int value2) { diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCallerController.java b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCallerController.java index 18a331db..d0b5722e 100644 --- a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCallerController.java +++ b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCallerController.java @@ -25,6 +25,8 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; /** + * Discovery caller controller. + * * @author Haotian Zhang */ @RestController @@ -38,10 +40,10 @@ public class DiscoveryCallerController { private DiscoveryCalleeService discoveryCalleeService; /** - * 获取相加完的结果 - * @param value1 值1 - * @param value2 值2 - * @return 总值 + * Get sum of two value. + * @param value1 value 1 + * @param value2 value 2 + * @return sum */ @GetMapping("/feign") public int feign(@RequestParam int value1, @RequestParam int value2) { @@ -49,8 +51,8 @@ public class DiscoveryCallerController { } /** - * 获取被调服务信息 - * @return 信息 + * Get information of callee. + * @return information of callee */ @GetMapping("/rest") public String rest() { @@ -60,8 +62,8 @@ public class DiscoveryCallerController { } /** - * health check - * @return 信息 + * health check. + * @return health check info */ @GetMapping("/healthCheck") public String healthCheck() { diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCallerService.java b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCallerService.java index d410400b..55fcf01a 100644 --- a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCallerService.java +++ b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/java/com/tencent/cloud/polaris/discovery/service/caller/DiscoveryCallerService.java @@ -26,6 +26,8 @@ import org.springframework.context.annotation.Bean; import org.springframework.web.client.RestTemplate; /** + * Discovery caller application. + * * @author Haotian Zhang */ @SpringBootApplication diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/resources/log4j.properties b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/resources/log4j.properties deleted file mode 100644 index b0b20e72..00000000 --- a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/resources/log4j.properties +++ /dev/null @@ -1,15 +0,0 @@ -log4j.rootLogger=DEBUG,console,FILE - -log4j.appender.console=org.apache.log4j.ConsoleAppender -log4j.appender.console.threshold=INFO -log4j.appender.console.layout=org.apache.log4j.PatternLayout -log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [%5p] - %c -%F(%L) -%m%n - -log4j.appender.FILE=org.apache.log4j.RollingFileAppender -log4j.appender.FILE.Append=true - -log4j.appender.FILE.File=applog/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.log -log4j.appender.FILE.Threshold=INFO -log4j.appender.FILE.layout=org.apache.log4j.PatternLayout -log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [%5p] - %c -%F(%L) -%m%n -log4j.appender.FILE.MaxFileSize=10MB diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/resources/logback-spring.xml b/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/resources/logback-spring.xml deleted file mode 100644 index 57f025c4..00000000 --- a/spring-cloud-tencent-examples/polaris-discovery-example/discovery-caller-service/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - logback - - - - %d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n - - - - - - true - - - applog/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.log - - - - - %d{yyyy-MM-dd HH:mm:ss} -%msg%n - - - - - - - - - - diff --git a/spring-cloud-tencent-examples/polaris-discovery-example/pom.xml b/spring-cloud-tencent-examples/polaris-discovery-example/pom.xml index f4f0add8..55d11638 100644 --- a/spring-cloud-tencent-examples/polaris-discovery-example/pom.xml +++ b/spring-cloud-tencent-examples/polaris-discovery-example/pom.xml @@ -1,65 +1,38 @@ - - - spring-cloud-tencent-examples - com.tencent.cloud - ${revision} - ../pom.xml - - 4.0.0 - - polaris-discovery-example - pom - Spring Cloud Starter Tencent Polaris Discovery Example - - - discovery-callee-service - discovery-caller-service - - - + + + spring-cloud-tencent-examples + com.tencent.cloud + ${revision} + ../pom.xml + + 4.0.0 + + polaris-discovery-example + pom + Spring Cloud Starter Tencent Polaris Discovery Example + + + discovery-callee-service + discovery-caller-service + + + org.springframework.boot spring-boot-starter-web - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot spring-boot-starter-actuator - org.springframework.cloud spring-cloud-starter-openfeign - - - - org.springframework.cloud - spring-cloud-starter-netflix-hystrix - - - - - org.springframework.cloud - spring-cloud-starter-netflix-ribbon - - - - - org.springframework.retry - spring-retry - - \ No newline at end of file diff --git a/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service/src/main/java/com/tencent/cloud/polaris/gateway/example/callee/GatewayCalleeApplication.java b/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service/src/main/java/com/tencent/cloud/polaris/gateway/example/callee/GatewayCalleeApplication.java index 9d618f4c..4e5e816b 100644 --- a/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service/src/main/java/com/tencent/cloud/polaris/gateway/example/callee/GatewayCalleeApplication.java +++ b/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service/src/main/java/com/tencent/cloud/polaris/gateway/example/callee/GatewayCalleeApplication.java @@ -21,6 +21,8 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** + * Gateway callee application. + * * @author Haotian Zhang */ @SpringBootApplication diff --git a/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service/src/main/java/com/tencent/cloud/polaris/gateway/example/callee/GatewayCalleeController.java b/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service/src/main/java/com/tencent/cloud/polaris/gateway/example/callee/GatewayCalleeController.java index 8c43f42f..86015df6 100644 --- a/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service/src/main/java/com/tencent/cloud/polaris/gateway/example/callee/GatewayCalleeController.java +++ b/spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service/src/main/java/com/tencent/cloud/polaris/gateway/example/callee/GatewayCalleeController.java @@ -29,6 +29,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** + * Gateway callee controller. + * * @author Haotian Zhang */ @RestController @@ -38,8 +40,8 @@ public class GatewayCalleeController { private static Logger logger = LoggerFactory.getLogger(GatewayCalleeController.class); /** - * Get info string - * @return 返回服务信息 + * Get information of callee. + * @return information of callee */ @RequestMapping("/info") public String info() { @@ -47,7 +49,7 @@ public class GatewayCalleeController { } /** - * Get metadata in HTTP header + * Get metadata in HTTP header. */ @RequestMapping("/echo") public String echoHeader( diff --git a/spring-cloud-tencent-examples/polaris-gateway-example/gateway-scg-service/src/main/java/com/tencent/cloud/polaris/gateway/example/scg/GatewayScgApplication.java b/spring-cloud-tencent-examples/polaris-gateway-example/gateway-scg-service/src/main/java/com/tencent/cloud/polaris/gateway/example/scg/GatewayScgApplication.java index dc2a98e7..6d5694d0 100644 --- a/spring-cloud-tencent-examples/polaris-gateway-example/gateway-scg-service/src/main/java/com/tencent/cloud/polaris/gateway/example/scg/GatewayScgApplication.java +++ b/spring-cloud-tencent-examples/polaris-gateway-example/gateway-scg-service/src/main/java/com/tencent/cloud/polaris/gateway/example/scg/GatewayScgApplication.java @@ -21,6 +21,8 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** + * SCG application. + * * @author Haotian Zhang */ @SpringBootApplication diff --git a/spring-cloud-tencent-examples/polaris-gateway-example/gateway-zuul-service/pom.xml b/spring-cloud-tencent-examples/polaris-gateway-example/gateway-zuul-service/pom.xml index 697fe770..2e4060d2 100644 --- a/spring-cloud-tencent-examples/polaris-gateway-example/gateway-zuul-service/pom.xml +++ b/spring-cloud-tencent-examples/polaris-gateway-example/gateway-zuul-service/pom.xml @@ -25,14 +25,14 @@ - org.springframework.cloud - spring-cloud-starter-netflix-zuul + com.tencent.cloud + spring-cloud-starter-tencent-metadata-transfer - org.springframework.boot - spring-boot-starter-web + org.springframework.cloud + spring-cloud-starter-netflix-zuul - + \ No newline at end of file diff --git a/spring-cloud-tencent-examples/polaris-gateway-example/gateway-zuul-service/src/main/java/com/tencent/cloud/polaris/gateway/example/zuul/GatewayZuulApplication.java b/spring-cloud-tencent-examples/polaris-gateway-example/gateway-zuul-service/src/main/java/com/tencent/cloud/polaris/gateway/example/zuul/GatewayZuulApplication.java index 681b68ad..e041a284 100644 --- a/spring-cloud-tencent-examples/polaris-gateway-example/gateway-zuul-service/src/main/java/com/tencent/cloud/polaris/gateway/example/zuul/GatewayZuulApplication.java +++ b/spring-cloud-tencent-examples/polaris-gateway-example/gateway-zuul-service/src/main/java/com/tencent/cloud/polaris/gateway/example/zuul/GatewayZuulApplication.java @@ -22,6 +22,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; /** + * Zuul application. + * * @author Haotian Zhang */ @SpringBootApplication diff --git a/spring-cloud-tencent-examples/polaris-gateway-example/pom.xml b/spring-cloud-tencent-examples/polaris-gateway-example/pom.xml index 073bd0e6..2645ccc6 100644 --- a/spring-cloud-tencent-examples/polaris-gateway-example/pom.xml +++ b/spring-cloud-tencent-examples/polaris-gateway-example/pom.xml @@ -1,16 +1,16 @@ - - - spring-cloud-tencent-examples - com.tencent.cloud - ${revision} - ../pom.xml - - 4.0.0 - - polaris-gateway-example + + + spring-cloud-tencent-examples + com.tencent.cloud + ${revision} + ../pom.xml + + 4.0.0 + + polaris-gateway-example pom Spring Cloud Starter Tencent Polaris Gateway Example @@ -20,38 +20,6 @@ gateway-callee-service - - - org.springframework.boot - spring-boot-starter-test - test - - - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - - - org.springframework.cloud - spring-cloud-starter-netflix-hystrix - - - - - org.springframework.cloud - spring-cloud-starter-netflix-ribbon - - - - - org.springframework.retry - spring-retry - - - diff --git a/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/pom.xml b/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/pom.xml index b37077e3..abace299 100644 --- a/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/pom.xml +++ b/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/pom.xml @@ -1,6 +1,6 @@ - polaris-ratelimit-example @@ -19,14 +19,16 @@ - spring-cloud-starter-tencent-polaris-discovery - com.tencent.cloud - - + com.tencent.cloud + spring-cloud-starter-tencent-polaris-discovery + + + com.tencent.cloud spring-cloud-starter-tencent-polaris-ratelimit - + + org.springframework.boot spring-boot-actuator-autoconfigure diff --git a/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/java/com/tencent/cloud/ratelimit/example/service/callee/BusinessController.java b/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/java/com/tencent/cloud/ratelimit/example/service/callee/BusinessController.java index 49e41125..e001201f 100644 --- a/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/java/com/tencent/cloud/ratelimit/example/service/callee/BusinessController.java +++ b/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/java/com/tencent/cloud/ratelimit/example/service/callee/BusinessController.java @@ -30,6 +30,8 @@ import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; /** + * Rate limit controller. + * * @author Haotian Zhang */ @RestController @@ -45,8 +47,8 @@ public class BusinessController { private String appName; /** - * 获取当前服务的信息 - * @return 返回服务信息 + * Get information. + * @return information */ @GetMapping("/info") public String info() { @@ -54,7 +56,7 @@ public class BusinessController { } @GetMapping("/invoke") - public String invokeInfo() throws Exception { + public String invokeInfo() { StringBuilder builder = new StringBuilder(); for (int i = 0; i < 30; i++) { try { diff --git a/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/java/com/tencent/cloud/ratelimit/example/service/callee/RateLimitCalleeService.java b/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/java/com/tencent/cloud/ratelimit/example/service/callee/RateLimitCalleeService.java index 69cbd555..e28c3425 100644 --- a/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/java/com/tencent/cloud/ratelimit/example/service/callee/RateLimitCalleeService.java +++ b/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/java/com/tencent/cloud/ratelimit/example/service/callee/RateLimitCalleeService.java @@ -24,6 +24,8 @@ import org.springframework.context.annotation.Bean; import org.springframework.web.client.RestTemplate; /** + * Rate limit application. + * * @author Haotian Zhang */ @SpringBootApplication diff --git a/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/resources/bootstrap.yml b/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/resources/bootstrap.yml index f93c70ab..5017624e 100644 --- a/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/resources/bootstrap.yml +++ b/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/resources/bootstrap.yml @@ -1,5 +1,4 @@ server: - session-timeout: 1800 port: 48081 spring: application: diff --git a/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/resources/log4j.properties b/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/resources/log4j.properties deleted file mode 100644 index b0b20e72..00000000 --- a/spring-cloud-tencent-examples/polaris-ratelimit-example/ratelimit-callee-service/src/main/resources/log4j.properties +++ /dev/null @@ -1,15 +0,0 @@ -log4j.rootLogger=DEBUG,console,FILE - -log4j.appender.console=org.apache.log4j.ConsoleAppender -log4j.appender.console.threshold=INFO -log4j.appender.console.layout=org.apache.log4j.PatternLayout -log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [%5p] - %c -%F(%L) -%m%n - -log4j.appender.FILE=org.apache.log4j.RollingFileAppender -log4j.appender.FILE.Append=true - -log4j.appender.FILE.File=applog/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.log -log4j.appender.FILE.Threshold=INFO -log4j.appender.FILE.layout=org.apache.log4j.PatternLayout -log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [%5p] - %c -%F(%L) -%m%n -log4j.appender.FILE.MaxFileSize=10MB diff --git a/spring-cloud-tencent-polaris-context/pom.xml b/spring-cloud-tencent-polaris-context/pom.xml index 5a9c354b..a97c9420 100644 --- a/spring-cloud-tencent-polaris-context/pom.xml +++ b/spring-cloud-tencent-polaris-context/pom.xml @@ -52,19 +52,16 @@ connector-composite - com.tencent.polaris registry-memory - com.tencent.polaris flow-cache-expired - com.tencent.polaris router-isolated @@ -90,7 +87,6 @@ router-metadata - com.tencent.polaris loadbalancer-random diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisContextConfiguration.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisContextConfiguration.java index aead0776..94bd493c 100644 --- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisContextConfiguration.java +++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/PolarisContextConfiguration.java @@ -22,7 +22,6 @@ import java.util.ArrayList; import java.util.List; import com.tencent.cloud.common.constant.ContextConstant.ModifierOrder; -import com.tencent.cloud.polaris.context.extend.consul.ConsulContextProperties; import com.tencent.polaris.api.exception.PolarisException; import com.tencent.polaris.client.api.SDKContext; import com.tencent.polaris.factory.config.ConfigurationImpl; @@ -38,8 +37,7 @@ import org.springframework.context.annotation.Bean; * * @author Haotian Zhang */ -@EnableConfigurationProperties({ PolarisContextProperties.class, - ConsulContextProperties.class }) +@EnableConfigurationProperties(PolarisContextProperties.class) public class PolarisContextConfiguration { private static final String ADDRESS_SEPARATOR = ","; diff --git a/spring-cloud-tencent-polaris-context/src/main/resources/META-INF/spring-configuration-metadata.json b/spring-cloud-tencent-polaris-context/src/main/resources/META-INF/spring-configuration-metadata.json index 9441937d..8c326e0c 100644 --- a/spring-cloud-tencent-polaris-context/src/main/resources/META-INF/spring-configuration-metadata.json +++ b/spring-cloud-tencent-polaris-context/src/main/resources/META-INF/spring-configuration-metadata.json @@ -10,9 +10,9 @@ { "name": "spring.cloud.polaris.address", "type": "java.lang.String", - "description": "polaris server 地址", + "description": "polaris server address list that can be separated by \",\"", "sourceType": "com.tencent.cloud.polaris.context.PolarisContextProperties" } ], "hints": [] -} \ No newline at end of file +} diff --git a/spring-cloud-tencent-polaris-context/src/main/resources/META-INF/spring.factories b/spring-cloud-tencent-polaris-context/src/main/resources/META-INF/spring.factories index f858b012..3d931b1c 100644 --- a/spring-cloud-tencent-polaris-context/src/main/resources/META-INF/spring.factories +++ b/spring-cloud-tencent-polaris-context/src/main/resources/META-INF/spring.factories @@ -1 +1,2 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.tencent.cloud.polaris.context.PolarisContextConfiguration \ No newline at end of file +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ + com.tencent.cloud.polaris.context.PolarisContextConfiguration