I am preparing a BP with the goal of enabling discovery of every service
exposed by a Bookie using existing metadata service.

Stay tuned

Enrico

Il mar 3 dic 2019, 08:55 Enrico Olivelli <eolive...@gmail.com> ha scritto:

> Sijie,
> answers inline
>
> Enrico
>
> Il giorno mar 3 dic 2019 alle ore 08:15 Sijie Guo <guosi...@gmail.com> ha
> scritto:
>
>> I am not sure it is a good idea to expose the stats via a RPC endpoint.
>>
>> Because most of the stats collection systems (e.g. prometheus) are
>> collecting stats via an http endpoints.
>> I don't think we should duplicate the work that a stats library is good
>> at.
>>
>> Other thoughts inline.
>>
>> On Sat, Nov 30, 2019 at 4:31 AM Enrico Olivelli <eolive...@gmail.com>
>> wrote:
>>
>> > Hi all,
>> > In my company we are developing a visual tool for Bookkeeper Management
>> and
>> > we would like to have more information about the status of a Bookie
>> just by
>> > using RPC calls.
>> > We already have getBookieInfo that is only reporting about disk space
>> > usage.
>> >
>> > Examples of useful info:
>> > - link to metrics endpoint
>> > - last minor/major gc execution timestamp
>> > - last jvm start timestamp (uptime)
>> > - configuration file
>> >
>> > We already have the http endpoint but it comes with several
>> disadvantages:
>> > - it is a secondary channel (so you have to use two channels to talk to
>> the
>> > bookie)
>> >
>>
>> Why not standardize the management endpoint in http endpoint and build the
>> dashboard on it?
>>
>
> Actually our project is a Web Application (WAR archive) so we can deploy
> it to any Servlet Container (Jetty, Tomcat), so in theory it could be
> deployed inside the bookie itself or at least distributed with BK binary
> distribution
> Once we have a stable release one good plan could be to contribute it to
> ASF BookKeeper Project (as StreamNative did with Pulsar Manager)
>
> https://github.com/diennea/bookkeeper-visual-manager
>
>
>
>> It is a common approach for doing so. An RPC channel is more used for data
>> channel.
>>
>>
>> > - there is no way of getting the http address, as it is not advertised
>> on
>> > metadata discovery service
>> >
>>
>> We should fix this, no?
>>
>
> Yes we could, but actually it is more invasive change.
> I think such kind of enhancements should be done together with the change
> about using some bookieid that is is not host:port.
>
>
>
>>
>>
>> > - it does not support security (auth/tls..) yet
>> >
>>
>> We should add TLS support and authentication to the http endpoint.
>>
>
> Yes we could.
> Some problems:
> - (community) we have multiple implementations of the HTTP endpoint, we
> should decide whether to enhance only one, all of the them...
> - (private) In all of the clusters of my customers we are not using the
> http endpoint provided by the bookie, so actually
> having a new open endpoint will come with some disadvantages (new open
> port, security, network architecture change....)
> - The Bookie http server is not "read only", it can force the bookie to do
> things, we should also change this
>
>
>
>
>>
>> I guess rather than choosing to implement duplicated work in a PRC
>> endpoint, why can't we spend some time enhancing http endpoint?
>>
>>
>> >
>> > Given that I am mostly using Kerberos,
>> > going to the http way will need separate security configurations: for
>> > bookie RPC and for HTTP.
>> >
>>
>> Jia implemented Kerberos for Pulsar http endpoint. Also HDFS supports
>> kerberos at its http endpoint as well.
>> So I don't think that is a problem as well.
>>
>
> That would be interesting.
>
>
>>
>>
>> >
>> > So that's why I would prefer to use the standard binary RPC protocol:
>> only
>> > one client, only one auth, security is already ok, no additional
>> discovery
>> > info.
>> >
>> > If you guys agree on the approach we can send a patch that includes the
>> > support for publishing more information on that RPC
>> >
>> > Cheers
>> > Enrico
>> >
>>
>

Reply via email to