You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@distributedlog.apache.org by Asko Kauppi <as...@zalando.fi> on 2016/12/22 14:19:00 UTC

What's the 'name' parameter for opening a Write Proxy Client?

In http://distributedlog.incubator.apache.org/docs/latest/tutorials/basic-2.html <http://distributedlog.incubator.apache.org/docs/latest/tutorials/basic-2.html>

DistributedLogClientBuilder builder = DistributedLogClientBuilder.newBuilder();
        .clientId(ClientId.apply("console-proxy-writer"))
        .name("console-proxy-writer”);

What’s the role of the client id (is it only for logging/debugging)?

What’s the role of the name? How is it different from client id?

Where do I provide the DistributedLog namespace that I wish to write to?


Asko Kauppi
Zalando Tech Helsinki


Re: What's the 'name' parameter for opening a Write Proxy Client?

Posted by Sijie Guo <si...@apache.org>.
Re "client id and name"

Client Id is the identifier used by finagle-thrift to identify "who" is
sending the request. The client id can then be used by the thrift proxy
server to reject unknown clients optionally. (
http://www.rubydoc.info/gems/finagle-thrift/1.4.1/FinagleThrift/ClientId)

The name is used by the client side for labeling the clients. The name is
typically used for scoping metrics. If you have two clients labelled by
different names, their client-side metrics will be scoped under different
names.

Usually they are same.

Re "namespace"

When setting up a cluster of proxy servers, you need to specify a namespace
that the proxy servers want to serve. So when you talk to the cluster of
proxy servers, you implicitly point to the namespace that the proxy servers
are serving.

You can have a few ways to access the cluster of proxy servers.

- you can use the finagle 'Name' (
http://twitter.github.io/finagle/guide/Names.html) to access the cluster.
For example, if all your proxy servers are behind a DNS, you can use
"inet!<dns>:port" to access the cluster.
- besides that, all the proxy servers will be announcing themselves under
'.write_proxy' of its provided namespace. You can use serverset (
http://stevenskelton.ca/finagle-serverset-clusters-using-zookeeper/) to
access the cluster.
- additionally, you can configure #uri(...) in the builder to point the
cluster that serves the namespace. (This method is only available in latest
master so far. It will be available after we release 0.4.0-incubating.)

Let me know if you have any more questions.

- Sijie

On Thu, Dec 22, 2016 at 6:19 AM, Asko Kauppi <as...@zalando.fi> wrote:

> In http://distributedlog.incubator.apache.org/docs/
> latest/tutorials/basic-2.html <http://distributedlog.
> incubator.apache.org/docs/latest/tutorials/basic-2.html>
>
> DistributedLogClientBuilder builder = DistributedLogClientBuilder.
> newBuilder();
>         .clientId(ClientId.apply("console-proxy-writer"))
>         .name("console-proxy-writer”);
>
> What’s the role of the client id (is it only for logging/debugging)?
>
> What’s the role of the name? How is it different from client id?
>
> Where do I provide the DistributedLog namespace that I wish to write to?
>
>
> Asko Kauppi
> Zalando Tech Helsinki
>
>