There are 5 Web-AP servers on Web site for fault tolerance.

And Discovery Service and Deployer Service is installed into all 5 servers, to enable publishing even if some servers are down.

I configured 2 Discovery Services to use same DB, but error occured when executing discovery-registration.jar.

At first discovery-registration.jar is executed on "Server A", it succeeded. But when executing discovery-registration.jar on "Server B", it failed and it seems connect to "Server A"'s Discovery Service.

Is it possible to use same DB from 5 different Discovery Services?

Or are 5 DBs required for each service?

Also I belive only 1 Topology Manager DB is required, is this correct?



When I configure Deployer Service's URL as "localhost" in Discovery Service's cd_storage_conf.xml, an error occurred while publishing.

This is cd_storage_conf.xml:

    <Role Name="DeployerCapability" Url="http://localhost:8084/httpupload">

Transporter output following log while publishing:

2017-01-25 11:49:19,958 ERROR BaseHTTPSTransportConnector - Unable to execute File retrieval on destination: http://localhost:8084/httpupload
java.net.ConnectException: Connection refused: connect

And when I configured Discovery Service and Token Service URL as "localhost", an error occurred while updating "TtmCdEnvironment" by Topology Manager.The error message says "Connection is refused by server".

This is cd_storage_conf.xml:

<ConfigRepository ServiceUri="http://localhost:8082/discovery.svc"

<Role Name="TokenServiceCapability" Url="http://localhost:8082/token.svc">

So now all URLs are configured as the server's IP address like following.

<ConfigRepository ServiceUri=""
<Role Name="DeployerCapability" Url="">
<Role Name="TokenServiceCapability" Url="">

Those configured URLs and IP addresses are registered in Discovery Service's DB. Although I don't know how those data is used exactly, is it possible to use same DB from different servers because configured IP addresses are different in each server?

Also what kind of URL should be configured in "ConfigRepository"?

1 Answer 1


For any service goes: scaling out means running multiple instances of the service against the same database.

AFAIK, the discovery-registration.jar connects to the Discovery Service configured in cd_storage_conf.xml, so maybe you didn't change that configuration on each server.

I'm also wondering why you are trying to run the tool multiple times on multiple servers; the tool changes the configuration stored in the (common) Discovery Service DB, so you don't have to run it on each node.

UPDATE (Response to Question update)

If you configure the URLs of your capabilities as localhost, those endpoints will only be accessible from the same host. This means it only works for an all-in-one (dev) environment.

For a scaled out environment with CIS on a different host than CM and/or Your Web App, you should ensure you use the hostname of the CIS host in the URLs (or IP address like you did, but that is more brittle).

For a scaled out environment with multiple CIS instances on multiple hosts, you will/should have one or more load balancers on top of the CIS services. In that case, you should use the hostname (or IP address) of the load balancer rather than of an individual CIS host.

  • At first an error occurred when creating "TtmCdEnviroment" by Topology Manager, so I tried to update Discovery Service by discovery-registration.jar.Also I'm configuring SDL Web 8 services' URL as server's IP(like in "ConfigRepository" of cd_storage_conf.xml for some reasons. I updated my question for detail. Jan 25, 2017 at 5:00
  • I have updated the Answer accordingly. Jan 25, 2017 at 7:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.