This is a draft for the BP-38
https://github.com/apache/bookkeeper/pull/2214/files

and this is a draft implementation
https://github.com/apache/bookkeeper/pull/2213/files

I will ping again when the documents are ready for full review.
I have just pushed them in case anyone as time to give early feedback

Regards

Enrico

Il giorno dom 8 dic 2019 alle ore 16:10 Enrico Olivelli <eolive...@gmail.com>
ha scritto:

> 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