[ 
https://issues.apache.org/jira/browse/HBASE-11288?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17113058#comment-17113058
 ] 

Francis Christopher Liu commented on HBASE-11288:
-------------------------------------------------

{quote}
For example, I'm not impressed by HBASE-18095 while lots of other committers 
really love it. As in our deployments, we can also control how we deploy 
zookeeper, not only HBase. Zookeeper supports a feature called observer node, 
which can be considered as a cache of the zk cluster. 
{quote}
I see, I agree with your sentiment and we do that too where appropriate. In 
fact we were about to go down a similar route as you described with zookeeper 
except for some limitations in early zookeeper versions prior to 3.5(?) which 
did not have the "read only"(?) mode. The problem for us was that without that 
mode there still had to be a quorum agreement for connections to the observer 
even though the clients are doing only reads. This was unacceptable for us as 
that was one of the things we observed was hammering the ensemble so we had to 
go with a different approach.

More recenlty we also have implemented a Rest Registry because of security 
requirements along the lines of what [~apurtell] described. Hence I too find 
that it makes sense to abstract out zookeeper from the user so we have better 
control of the attack surface. I suspect this requirement is going to become 
more common.

{quote}
Then for me, it is also very easy to just implement a simple cache server, to 
pull all the content in root from the active master and cache it in memory, 
then to serve clients as the 'master' for locating meta. And I could also make 
use of lvs, to spread load across multiple cache servers. And for users who can 
not control things other than HBase, we could implement something like 
HBASE-18095, to let backup masters to serve the locating meta requests.
{quote}
Yeah I think we would need an implemented solution for users as well. Or it 
would seem a bit lopsided expecting users that worry about root traffic to 
implement their own caching service. 

{quote}
But if you use a hbase:root table, then you will expose the whole region API to 
users. The API is powerful, but hard to simulate, so it will be really hard to 
spread the load across multiple servers. 
{quote}
If that is something you need we could still have root table but not expose the 
region api (possibly like we already do for mutations) to them just the api you 
described? Also I'm wondering if we don't expose the scan apis at all then do 
we plan to have hbck for root where it is located (eg in the master)?

{quote}
Enable read replicas on root table? Seems a bit overkill and read replicas 
itself is still not stable enough I suppose...
{quote}
It would seem overkill if we only did it for root. But we do it for meta today? 
Or are people no longer using it for meta? There's no developer support in 
getting it stable?

Please let me know what you think?








> Splittable Meta
> ---------------
>
>                 Key: HBASE-11288
>                 URL: https://issues.apache.org/jira/browse/HBASE-11288
>             Project: HBase
>          Issue Type: Umbrella
>          Components: meta
>            Reporter: Francis Christopher Liu
>            Assignee: Francis Christopher Liu
>            Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to