Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • How does this project fit into the rest of the ONAP Architecture?


    • Please Include architecture diagram if possible
    • What other ONAP projects does this project depend on?
      • Integration
  • How does this align with external standards/specifications?
    • APIs/Interfaces - OpenAPI/Swagger
    • Information/data models - Swagger JSON or YAML models
  • Are there dependencies with other open source projects?
    • APIs/Interfaces - OpenResty, Consul, Redis
    • Integration Testing
    • etc.

MSB Use

...

Cases:

  1. Service registration per service provider instances
    • Registration
      Service instances are registered to the registry by proxy or themselves. The visible scope should be indicated as a parameter when register. If a service is only internal visible, the service information is only pulled by the internal gateway (aka router & load balancer) and used by other components inside the system, the interal services can't be accessed by external systems or front end(web client). If a service is visible to external system, the service information is pulled by the external gateway and can be accessed by external systems and front end (web client) with auth.
               
        
    • Discovery & Service Consuming
      • For internal service consumers(Components inside ONAP system, such as A&AI, SO, Controller, etc.)
        • Client side discovery and load balancing
        • Server side discovery and load balancing
      • For external service clients(OSS, BSS, Web client, etc.), access the service via external gateway


  2. Service registration per service
    The service may have its own load balancer built inside, for example, Kubernetes can create a load balancer for a service. In such case, only need to register the service LB node to MSB, and the service request from the consumer is routed to the service LB node.
    • Registration

    • Discovery  & Service Consuming

      Note: Only show the client side discovery in this diagram for simplicity, it's also possible to use server side discovery by the internal gateway.

  3. MSB Hierarchy 
    In some complex deployment, there may be multiple layers of orchestration. For example, the global orchestrator in the Core DC may need to call the domain orchestrator in the edge dc to deploy a segment of an end to end service. MSB hierarchy is used to support such scenario.

    The external gateway of edge dc is registered to the registry of core dc as the service access end point of the external services in the edge dc.

    When a service consumer in the core dc wants to access a service in the edge dc, the consumer queries the registry with the service name, the registry returns the end point information of the external gateway of edge dc to the consumer. Then the consumer sends a request to the external gateway of edge dc, the gateway routes the request to the service provider.
    • Registration

    • Discovery & Service Consuming

      Note: For the service consumer in Core DC, this diagram only show the client side discovery for simplicity, it's also possible to use server side discovery by the internal gateway.

  4. Centralized Authentication&Authorization via MSB plugin
    MSB is a pluggable architecture, so it can provide centralized authentication & authorization for service request with plugin of auth service provider like AAF.




...