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

Provide streaming APIs with SSL/TLS

    XMLWordPrintableJSON

Details

    • Umbrella
    • Status: Resolved
    • Major
    • Resolution: Abandoned
    • None
    • None
    • grpc, rpc, security
    • None

    Description

      Umbrella to add optional client/server streaming capabilities to HBase.
      This would allow bandwidth to be used more efficiently for certain operations, and allow clients to use SSL/TLS for authentication and encryption.

      Desired client/server scaffolding:

      • HTTP/2 support
      • Protocol negotiation (blocking vs streaming, auth, encryption, etc.)
      • TLS/SSL support
      • Streaming RPC support

      Possibilities (and their tradeoffs):

      • gRPC: Some initial work and discussion on HBASE-13467 (Prototype using GRPC as IPC mechanism)
        • Has most or all of the desired scaffolding
        • Adds additional g* dependencies. Compat story for g* dependencies not always ideal
      • Custom HTTP/2 based client/server APIs
        • More control over compat story
        • Non-trivial to build scaffolding; might reinvent wheels along the way
      • Others?

      Related Jiras that might be rolled in as sub-tasks (or closed/replaced with new ones):
      HBASE-17708 (Expose config to set two-way auth over TLS in HttpServer and add a test)
      HBASE-8691 (High-Throughput Streaming Scan API)
      HBASE-14899 (Create custom Streaming ReplicationEndpoint)

      Attachments

        1. 0001-Initial-add-of-grpc.patch
          5 kB
          Michael Stack

        Activity

          People

            Unassigned Unassigned
            alexaraujo Alex Araujo
            Votes:
            0 Vote for this issue
            Watchers:
            13 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: