Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-13278

Toward a "thinner" client

    XMLWordPrintableJSON

Details

    • Brainstorming
    • Status: Closed
    • Major
    • Resolution: Later
    • None
    • None
    • Client, regionserver
    • None

    Description

      Here's a strawman proposal I've been thinking about lately.

      A stateless HTTP interface that runs on every RS and enables a client application to communicate with the cluster using just libcurl. This interface provides an interface for admin commands identical to existing REST gateway. Region location information is managed via http response codes/redirects. Redirects bounce the client to the correct host for a given region when available. The implementation doesn't suffer the "drinking through a straw" issues of our current gateway interfaces. No longer is a client ZK connection required, everything can be found via this API. Every machine in the cluster can run this service, so a client needs limited information to be able to interact with the cluster.

      A relatively performant client such as our Java client will require complexity for parallelism, location caching, &c., but a relatively naive client can be stood up relatively simply.

      Attachments

        Activity

          People

            Unassigned Unassigned
            ndimiduk Nick Dimiduk
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: