/** Initializes this IP Finder by creating the appropriate Curator objects. */ private void init() { if (!initGuard.compareAndSet(false, true)) return; String sysPropZkConnString = System.getProperty(PROP_ZK_CONNECTION_STRING); if (sysPropZkConnString != null && !sysPropZkConnString.trim().isEmpty()) zkConnectionString = sysPropZkConnString; if (log.isInfoEnabled()) log.info("Initializing ZooKeeper IP Finder."); if (curator == null) { A.notNullOrEmpty(zkConnectionString, String.format("ZooKeeper URL (or system property %s) cannot be null " + "or empty if a CuratorFramework object is not provided explicitly", PROP_ZK_CONNECTION_STRING)); curator = CuratorFrameworkFactory.newClient(zkConnectionString, retryPolicy); } if (curator.getState() == CuratorFrameworkState.LATENT) curator.start(); A.ensure(curator.getState() == CuratorFrameworkState.STARTED, "CuratorFramework can't be started."); discovery = ServiceDiscoveryBuilder.builder(IgniteInstanceDetails.class) .client(curator) .basePath(basePath) .serializer(new JsonInstanceSerializer<>(IgniteInstanceDetails.class)) .build(); }
protected ServiceDiscovery<DrillbitEndpoint> newDiscovery() { return ServiceDiscoveryBuilder.builder(DrillbitEndpoint.class).basePath("/") .client(curator).serializer(DrillServiceInstanceHelper.SERIALIZER) .build(); }
ServiceDiscoveryBuilder.builder(Void.class) .basePath(config.getPath()) .client(curator) .build();
private ServiceDiscovery createAndAnnounceServices(List<String> serviceNames) throws Exception { int port = 1000; ServiceDiscovery<Void> serviceDiscovery = ServiceDiscoveryBuilder.builder(Void.class) .basePath("/test") .client(curator) .build(); for (String serviceName : serviceNames) { String serviceNameToUse = CuratorServiceUtils.makeCanonicalServiceName(serviceName); ServiceInstance instance = ServiceInstance.<Void>builder() .name(serviceNameToUse) .address("localhost") .port(port++) .build(); serviceDiscovery.registerService(instance); } return serviceDiscovery; }
.client(client) .basePath(root) .serializer(serializer)
try { serviceDiscovery = ServiceDiscoveryBuilder.builder(ModelEndpoint.class) .client(client) .basePath(config.getServiceRoot()) .serializer(serializer)
ZooRegistry() { String connectString = RPCServer.getConfig().getString("zookeeper.connectString"); basePath = RPCServer.getConfig().getString("zookeeper.basePath"); client = CuratorFrameworkFactory.newClient(connectString, new ExponentialBackoffRetry(1000, 3)); client.start(); JsonInstanceSerializer<InstanceDetails> serializer = new JsonInstanceSerializer<InstanceDetails>(InstanceDetails.class); serviceDiscovery = ServiceDiscoveryBuilder.builder(InstanceDetails.class).client(client).basePath(basePath).serializer(serializer).build(); try { serviceDiscovery.start(); } catch (Exception e) { logger.error("Failed to create ZooRegistry!msg="+e.getMessage(), e); } }
@Override public void init() { String zkHosts = Configuration.getInstance().getString("serviceDiscovery.zkHosts"); String basePath = Configuration.getInstance().getString("serviceDiscovery.basePath", "/discovery"); CuratorFramework client = CuratorFrameworkFactory.newClient(zkHosts, new ExponentialBackoffRetry(1000, 3)); client.start(); discovery = ServiceDiscoveryBuilder.builder(String.class) .client(client) .basePath(basePath) .build(); providers = new HashMap<>(); }
@Provides @Singleton public ServiceDiscovery<WorkerMetadata> getServiceDiscovery(ZookeeperConfig zookeeperConfig, CuratorFramework curatorFramework, InstanceSerializerFactory instanceSerializerFactory) { return ServiceDiscoveryBuilder.builder(WorkerMetadata.class) .basePath(zookeeperConfig.getBasePath()) .client(curatorFramework) .serializer(instanceSerializerFactory .getInstanceSerializer(new TypeReference<ServiceInstance<WorkerMetadata>>() {})) .build(); }
@Bean(initMethod = "start", destroyMethod = "close") public ServiceDiscovery curatorServiceDiscovery( CuratorFramework curatorFramework, @Value("${curator.discovery.basePath:/homeadvisor/services}") String basePath) throws Exception { final Class payloadClass = Object.class; curatorFramework.createContainers(basePath); return ServiceDiscoveryBuilder.builder(payloadClass) .client(curatorFramework) .basePath(basePath) .serializer(new JsonInstanceSerializer(payloadClass)) .build(); }
@Override public ServiceDiscovery<ZookeeperInstance> customize(ServiceDiscoveryBuilder<ZookeeperInstance> builder) { // @formatter:off return builder .client(this.curator) .basePath(this.properties.getRoot()) .serializer(this.instanceSerializer) .build(); // @formatter:on } }
public ZookeeperComponentRegistry(ComponentConfiguration config) { super(config); if (componentConfig.getExternalConnectionString() == null) { componentConfig.setExternalConnectionString(defaultConnectionString); LOGGER.warn("External connection string not provided. Defaulting to " + defaultConnectionString); } client = CuratorFrameworkFactory.newClient(componentConfig.getExternalConnectionString(), new ExponentialBackoffRetry(1000, 3)); JsonInstanceSerializer<ComponentInfo> serializer = new JsonInstanceSerializer<ComponentInfo>(ComponentInfo.class, false); serviceDiscovery = ServiceDiscoveryBuilder.builder(ComponentInfo.class).client(client).basePath(PATH).serializer(serializer).build(); }
private ServiceDiscovery<NodeEndpoint> newDiscovery(String clusterId) { return ServiceDiscoveryBuilder .builder(NodeEndpoint.class) .basePath(clusterId) .client(curator) .serializer(ServiceInstanceHelper.SERIALIZER) .build(); }
protected ServiceDiscovery<DrillbitEndpoint> newDiscovery() { return ServiceDiscoveryBuilder .builder(DrillbitEndpoint.class) .basePath("/") .client(curator) .serializer(DrillServiceInstanceHelper.SERIALIZER) .build(); }
protected ServiceDiscovery serviceDiscovery(ServiceInstance serviceInstance) { return ServiceDiscoveryBuilder.builder(Void.class) .basePath(this.zookeeperDiscoveryProperties.getRoot()) .client(this.curatorFramework).thisInstance(serviceInstance).build(); }
public static <T> ServiceDiscovery<T> createServiceDiscovery(ZooKeeperCuratorConfiguration configuration, CuratorFramework curator, Class<T> payloadType) { return ServiceDiscoveryBuilder.builder(payloadType) .client(curator) .basePath(configuration.getBasePath()) .serializer(new JsonInstanceSerializer<>(payloadType)) .build(); } }
public void init() { serviceDiscovery = ServiceDiscoveryBuilder.builder(GroupProxy.class) .basePath(ZkPathManager.getGroupBasePath()) .serializer(new ZkServiceInstanceSerializer()) .serializer(new FastjsonServiceDefinitionSerializer<>(GroupProxy.class)) .client(ZkConnection.client) .build(); try { serviceDiscovery.start(); } catch (Exception e) { throw new RuntimeException(e); } }
public void init() { serviceDiscovery = ServiceDiscoveryBuilder.builder(UnitProxy.class) .basePath(ZkPathManager.getUnitBasePath()) .serializer(new ZkUnitInstanceSerializer()) .serializer(new FastjsonServiceDefinitionSerializer<>(UnitProxy.class)) .client(ZkConnection.client) .build(); try { serviceDiscovery.start(); } catch (Exception e) { throw new RuntimeException(e); } }
private void createServiceDiscovery() throws Exception { InstanceSerializer<Map> instanceSerializer = new FixedJsonInstanceSerializer<Map>(Map.class); sDiscovery = ServiceDiscoveryBuilder.builder(Map.class) .basePath("/services") .client(client) .serializer(instanceSerializer) .build(); sDiscovery.start(); // Important, we're not advertising }
private void advertiseService() throws Exception { // Advertise on the service discovery new EnsurePath("/services").ensure(client.getZookeeperClient()); InstanceSerializer<Map> instanceSerializer = new FixedJsonInstanceSerializer<Map>(Map.class); sDiscovery = ServiceDiscoveryBuilder.builder(Map.class) .basePath("/services") .client(client) .serializer(instanceSerializer) .build(); sDiscovery.start(); sDiscovery.registerService(getMetadataInstance()); sleep(1000); // Sleep to allow ZKUtils ServiceCache to update }