use of com.tencent.polaris.api.rpc.InstanceRegisterRequest in project spring-cloud-tencent by Tencent.
the class PolarisServiceRegistry method register.
@Override
public void register(Registration registration) {
if (StringUtils.isEmpty(registration.getServiceId())) {
log.warn("No service to register for polaris client...");
return;
}
// Register instance.
InstanceRegisterRequest instanceRegisterRequest = new InstanceRegisterRequest();
instanceRegisterRequest.setNamespace(polarisDiscoveryProperties.getNamespace());
instanceRegisterRequest.setService(registration.getServiceId());
instanceRegisterRequest.setHost(registration.getHost());
instanceRegisterRequest.setPort(registration.getPort());
instanceRegisterRequest.setWeight(polarisDiscoveryProperties.getWeight());
instanceRegisterRequest.setToken(polarisDiscoveryProperties.getToken());
instanceRegisterRequest.setRegion(staticMetadataManager.getRegion());
instanceRegisterRequest.setZone(staticMetadataManager.getZone());
instanceRegisterRequest.setCampus(staticMetadataManager.getCampus());
if (null != heartbeatExecutor) {
instanceRegisterRequest.setTtl(ttl);
}
instanceRegisterRequest.setMetadata(registration.getMetadata());
instanceRegisterRequest.setProtocol(polarisDiscoveryProperties.getProtocol());
instanceRegisterRequest.setVersion(polarisDiscoveryProperties.getVersion());
try {
ProviderAPI providerClient = polarisDiscoveryHandler.getProviderAPI();
providerClient.register(instanceRegisterRequest);
log.info("polaris registry, {} {} {}:{} {} register finished", polarisDiscoveryProperties.getNamespace(), registration.getServiceId(), registration.getHost(), registration.getPort(), staticMetadataManager.getMergedStaticMetadata());
if (null != heartbeatExecutor) {
InstanceHeartbeatRequest heartbeatRequest = new InstanceHeartbeatRequest();
BeanUtils.copyProperties(instanceRegisterRequest, heartbeatRequest);
// Start the heartbeat thread after the registration is successful.
heartbeat(heartbeatRequest);
}
} catch (Exception e) {
log.error("polaris registry, {} register failed...{},", registration.getServiceId(), registration, e);
rethrowRuntimeException(e);
}
}
use of com.tencent.polaris.api.rpc.InstanceRegisterRequest in project polaris-java by polarismesh.
the class RegisterExample method main.
public static void main(String[] args) throws Exception {
InitResult initResult = ExampleUtils.initProviderConfiguration(args);
String namespace = initResult.getNamespace();
String service = initResult.getService();
String host = initResult.getHost();
int port = initResult.getPort();
String token = initResult.getToken();
try (ProviderAPI providerAPI = ExampleUtils.createProviderAPI(initResult.getConfig())) {
InstanceRegisterRequest instanceRegisterRequest = new InstanceRegisterRequest();
instanceRegisterRequest.setNamespace(namespace);
instanceRegisterRequest.setService(service);
instanceRegisterRequest.setHost(host);
instanceRegisterRequest.setPort(port);
instanceRegisterRequest.setToken(token);
if (initResult.getTtl() > 0) {
instanceRegisterRequest.setTtl(initResult.getTtl());
}
InstanceRegisterResponse instanceRegisterResponse = providerAPI.register(instanceRegisterRequest);
System.out.println("response after register is " + instanceRegisterResponse);
}
}
use of com.tencent.polaris.api.rpc.InstanceRegisterRequest in project polaris-java by polarismesh.
the class CircuitBreakExample method registerInstances.
private static void registerInstances(ProviderAPI providerAPI, InitResult initResult) {
for (int i = 0; i < initResult.getInstanceCount(); i++) {
InstanceRegisterRequest instanceRegisterRequest = new InstanceRegisterRequest();
instanceRegisterRequest.setNamespace(initResult.getNamespace());
instanceRegisterRequest.setService(initResult.getService());
instanceRegisterRequest.setHost("127.0.0.1");
instanceRegisterRequest.setPort(13000 + i);
instanceRegisterRequest.setToken(initResult.getToken());
InstanceRegisterResponse instanceRegisterResponse = providerAPI.register(instanceRegisterRequest);
System.out.println("response after register is " + instanceRegisterResponse);
}
CircuitBreakExampleUtils.doSleep(5000);
}
use of com.tencent.polaris.api.rpc.InstanceRegisterRequest in project sofa-rpc by sofastack.
the class PolarisRegistry method buildPolarisRegister.
// convert ProviderConfig to polaris registerRequest
public List<InstanceRegisterRequest> buildPolarisRegister(ProviderConfig config) {
List<ServerConfig> serverConfigs = config.getServer();
if (CommonUtils.isEmpty(serverConfigs)) {
return Collections.emptyList();
}
List<InstanceRegisterRequest> requestList = new ArrayList<>();
for (ServerConfig serverConfig : serverConfigs) {
InstanceRegisterRequest request = new InstanceRegisterRequest();
request.setNamespace(buildNameSpace(config.getAppName()));
request.setService(buildServiceName(config));
request.setHost(getServerHost(serverConfig));
request.setPort(serverConfig.getPort());
request.setPriority(config.getPriority());
request.setProtocol(serverConfig.getProtocol());
request.setWeight(config.getWeight());
request.setTimeoutMs(config.getTimeout());
request.setVersion(config.getVersion());
request.setTtl(properties.getHealthCheckTTL());
Map<String, String> metaData = convertProviderToMap(config, serverConfig);
checkAndDelNull(metaData);
request.setMetadata(metaData);
requestList.add(request);
}
return requestList;
}
use of com.tencent.polaris.api.rpc.InstanceRegisterRequest in project polaris-java-agent by polarismesh.
the class PolarisServiceRegistry method register.
/**
* 服务注册
*
* @param registration
*/
@Override
public void register(Registration registration) {
if (StringUtils.isEmpty(polarisRegistration.getServiceId())) {
log.warn("No service to register for polaris client...");
return;
}
// 注册实例
InstanceRegisterRequest instanceRegisterRequest = new InstanceRegisterRequest();
instanceRegisterRequest.setNamespace(polarisProperties.getNamespace());
instanceRegisterRequest.setService(polarisRegistration.getServiceId());
instanceRegisterRequest.setHost(polarisRegistration.getHost());
instanceRegisterRequest.setPort(polarisRegistration.getPort());
instanceRegisterRequest.setProtocol(polarisProperties.getProtocol());
if (null != heartbeatExecutor) {
instanceRegisterRequest.setTtl(ttl);
}
try {
ProviderAPI providerClient = PolarisAPIFactory.getProviderApi();
providerClient.register(instanceRegisterRequest);
log.info("Polaris register success with address host:{}, port:{}", polarisRegistration.getHost(), polarisRegistration.getPort());
if (null != heartbeatExecutor) {
InstanceHeartbeatRequest heartbeatRequest = new InstanceHeartbeatRequest();
BeanUtils.copyProperties(instanceRegisterRequest, heartbeatRequest);
// 添加反注册Hook
// 注册成功后开始启动心跳线程
heartbeat();
}
} catch (Exception e) {
log.error("polaris registry, {} register failed...{},", polarisRegistration.getServiceId(), polarisRegistration, e);
rethrowRuntimeException(e);
}
}
Aggregations