mirror of
https://gitee.com/mirrors/Spring-Cloud-Alibaba.git
synced 2021-06-26 13:25:11 +08:00
sidecar enhance
This commit is contained in:
parent
146b150abc
commit
a99b8f845f
@ -3,6 +3,8 @@ server:
|
|||||||
spring:
|
spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
|
username: nacos
|
||||||
|
password: nacos
|
||||||
discovery:
|
discovery:
|
||||||
server-addr: localhost:8848
|
server-addr: localhost:8848
|
||||||
gateway:
|
gateway:
|
||||||
@ -17,7 +19,7 @@ sidecar:
|
|||||||
# 异构微服务的端口
|
# 异构微服务的端口
|
||||||
port: 8060
|
port: 8060
|
||||||
# 异构微服务的健康检查URL
|
# 异构微服务的健康检查URL
|
||||||
health-check-url: http://localhost:8060/health.json
|
#health-check-url: http://localhost:8060/health.json
|
||||||
management:
|
management:
|
||||||
endpoint:
|
endpoint:
|
||||||
health:
|
health:
|
||||||
|
@ -17,13 +17,11 @@
|
|||||||
package com.alibaba.cloud.sidecar.nacos;
|
package com.alibaba.cloud.sidecar.nacos;
|
||||||
|
|
||||||
import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
|
import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
|
||||||
import com.alibaba.cloud.nacos.discovery.NacosDiscoveryAutoConfiguration;
|
|
||||||
import com.alibaba.cloud.sidecar.SidecarAutoConfiguration;
|
import com.alibaba.cloud.sidecar.SidecarAutoConfiguration;
|
||||||
import com.alibaba.cloud.sidecar.SidecarDiscoveryClient;
|
import com.alibaba.cloud.sidecar.SidecarDiscoveryClient;
|
||||||
import com.alibaba.cloud.sidecar.SidecarProperties;
|
|
||||||
|
|
||||||
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@ -32,23 +30,15 @@ import org.springframework.context.annotation.Configuration;
|
|||||||
* @author www.itmuch.com
|
* @author www.itmuch.com
|
||||||
*/
|
*/
|
||||||
@Configuration(proxyBeanMethods = false)
|
@Configuration(proxyBeanMethods = false)
|
||||||
@AutoConfigureBefore({ NacosDiscoveryAutoConfiguration.class,
|
@AutoConfigureBefore(SidecarAutoConfiguration.class)
|
||||||
SidecarAutoConfiguration.class })
|
@ConditionalOnBean(NacosDiscoveryProperties.class)
|
||||||
@ConditionalOnClass(NacosDiscoveryProperties.class)
|
|
||||||
public class SidecarNacosAutoConfiguration {
|
public class SidecarNacosAutoConfiguration {
|
||||||
|
|
||||||
@Bean
|
|
||||||
@ConditionalOnMissingBean
|
|
||||||
public SidecarNacosDiscoveryProperties sidecarNacosDiscoveryProperties(
|
|
||||||
SidecarProperties sidecarProperties) {
|
|
||||||
return new SidecarNacosDiscoveryProperties(sidecarProperties);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean
|
@ConditionalOnMissingBean
|
||||||
public SidecarDiscoveryClient sidecarDiscoveryClient(
|
public SidecarDiscoveryClient sidecarDiscoveryClient(
|
||||||
SidecarNacosDiscoveryProperties sidecarNacosDiscoveryProperties) {
|
NacosDiscoveryProperties nacosDiscoveryProperties) {
|
||||||
return new SidecarNacosDiscoveryClient(sidecarNacosDiscoveryProperties);
|
return new SidecarNacosDiscoveryClient(nacosDiscoveryProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.alibaba.cloud.sidecar.nacos;
|
package com.alibaba.cloud.sidecar.nacos;
|
||||||
|
|
||||||
|
import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
|
||||||
import com.alibaba.cloud.sidecar.SidecarDiscoveryClient;
|
import com.alibaba.cloud.sidecar.SidecarDiscoveryClient;
|
||||||
import com.alibaba.nacos.api.exception.NacosException;
|
import com.alibaba.nacos.api.exception.NacosException;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@ -29,18 +30,18 @@ public class SidecarNacosDiscoveryClient implements SidecarDiscoveryClient {
|
|||||||
private static final Logger log = LoggerFactory
|
private static final Logger log = LoggerFactory
|
||||||
.getLogger(SidecarNacosDiscoveryClient.class);
|
.getLogger(SidecarNacosDiscoveryClient.class);
|
||||||
|
|
||||||
private final SidecarNacosDiscoveryProperties sidecarNacosDiscoveryProperties;
|
private final NacosDiscoveryProperties nacosDiscoveryProperties;
|
||||||
|
|
||||||
public SidecarNacosDiscoveryClient(
|
public SidecarNacosDiscoveryClient(
|
||||||
SidecarNacosDiscoveryProperties sidecarNacosDiscoveryProperties) {
|
NacosDiscoveryProperties nacosDiscoveryProperties) {
|
||||||
this.sidecarNacosDiscoveryProperties = sidecarNacosDiscoveryProperties;
|
this.nacosDiscoveryProperties = nacosDiscoveryProperties;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void registerInstance(String applicationName, String ip, Integer port) {
|
public void registerInstance(String applicationName, String ip, Integer port) {
|
||||||
try {
|
try {
|
||||||
this.sidecarNacosDiscoveryProperties.namingServiceInstance()
|
this.nacosDiscoveryProperties.namingServiceInstance()
|
||||||
.registerInstance(applicationName, ip, port);
|
.registerInstance(applicationName, nacosDiscoveryProperties.getGroup(), ip, port);
|
||||||
}
|
}
|
||||||
catch (NacosException e) {
|
catch (NacosException e) {
|
||||||
log.warn("nacos exception happens", e);
|
log.warn("nacos exception happens", e);
|
||||||
@ -50,8 +51,8 @@ public class SidecarNacosDiscoveryClient implements SidecarDiscoveryClient {
|
|||||||
@Override
|
@Override
|
||||||
public void deregisterInstance(String applicationName, String ip, Integer port) {
|
public void deregisterInstance(String applicationName, String ip, Integer port) {
|
||||||
try {
|
try {
|
||||||
this.sidecarNacosDiscoveryProperties.namingServiceInstance()
|
this.nacosDiscoveryProperties.namingServiceInstance()
|
||||||
.deregisterInstance(applicationName, ip, port);
|
.deregisterInstance(applicationName, nacosDiscoveryProperties.getGroup(), ip, port);
|
||||||
}
|
}
|
||||||
catch (NacosException e) {
|
catch (NacosException e) {
|
||||||
log.warn("nacos exception happens", e);
|
log.warn("nacos exception happens", e);
|
||||||
|
@ -1,49 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2013-2018 the original author or authors.
|
|
||||||
*
|
|
||||||
* Licensed 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
|
|
||||||
*
|
|
||||||
* https://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 com.alibaba.cloud.sidecar.nacos;
|
|
||||||
|
|
||||||
import java.net.SocketException;
|
|
||||||
|
|
||||||
import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
|
|
||||||
import com.alibaba.cloud.sidecar.SidecarProperties;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author itmuch.com
|
|
||||||
*/
|
|
||||||
public class SidecarNacosDiscoveryProperties extends NacosDiscoveryProperties {
|
|
||||||
|
|
||||||
private final SidecarProperties sidecarProperties;
|
|
||||||
|
|
||||||
public SidecarNacosDiscoveryProperties(SidecarProperties sidecarProperties) {
|
|
||||||
this.sidecarProperties = sidecarProperties;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void init() throws SocketException {
|
|
||||||
super.init();
|
|
||||||
|
|
||||||
String ip = sidecarProperties.getIp();
|
|
||||||
if (StringUtils.isNotBlank(ip)) {
|
|
||||||
this.setIp(ip);
|
|
||||||
}
|
|
||||||
|
|
||||||
Integer port = sidecarProperties.getPort();
|
|
||||||
this.setPort(port);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user