XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • SCM
    • None

    Description

      Based on the the design doc in the parent pom, we need a Service Catalog endpoint in the SCM.

       

      public interface ServiceRegistry {
      
         void register(ServiceEndpoint endpoint) throws IOException;
      
         ServiceEndpoint findEndpoint(String serviceName, int instanceId);
      
         Collection<ServiceEndpoint> getAllServices();
      }

      Where the ServiceEndpoint is something like this:

      public class ServiceEndpoint {
      
        private String host;
      
        private String ip;
      
        private ServicePort port;
      
        private String serviceName;
      
        private int instanceId;
      
      ...
      
      }
      
      
      public class ServicePort {
         
         private ServiceProtocol protocol;
      
         private String name;
      
         private int port;
      
      ...
      
      }
      
      public enum ServiceProtocol {
         RPC, HTTP, GRPC
      }

      The ServiceRegistry may have multiple implementation, but as a first step we need a simple implementation which calls a new endpoint on SCM via REST.

      The endpoint should persist the data to a local Rocksdb with the help of DBStore.

      This task is about to create the server and client implementation. In a follow-up Jira we can start to use the client on the om/datanode/client side to mix the service discovery data with the existing configuration.

      Attachments

        Activity

          People

            Unassigned Unassigned
            elek Marton Elek
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: