MSB R4 Dublin Architecture Review

Brief Project Overview (brief as it should be known)

MSB is part of the underlying platform to support onap microservice communication. This diagram shows how MSB fits into ONAP architecture.



This diagram depicts the internal components of MSB and how MSB  interacts with ONAP Microservices.

MSB is consisted of  below sub-components:

  • Registry Service information storage, MSB uses Consul as the service registry.

  • MSB Discovery Provides REST APIs for service discovery and registration.

  • API Gateway Provide service request routing, load balancing and service governance. It can be deployed as external Gateway or Internal Gateway.

  • MSB SDK A Java SDK for point to point communication.

This diagram shows how MSB works with OOM (Kube2msb Registrator) to provide transparent service registration for onap microservices.

  • OOM deploy/start/stop ONAP components. 

  • Registrator watches the kubernetes event.

  • Registrator reads the service definition from kubernetes deployment specs.

  • Registrator sends service endpoints to MSB discovery when ONAP apps are deployed by OOM.

  • Registrator registers service endpoint info to MSB. It also updates the service info to MSB when ONAP components are stopped/restarted/scaled by OOM





New or modified interfaces

None

Interface naming

Interfaces are defined as Restful APIs, which can be found in this wiki page Microservice Bus API Documentation

What are the system limits?

MSB API gateway has been tested in this scenario:

  • Client(wrk) --> MSB API gateway --> Test service(Tomcat)

  • Test machine (client, msb and test service): 8 cpu Core, 8G memory

  • Network 10000M 

The test result is 50000 request per second.

Involved use cases, architectural capabilities or functional requirements.

As a common service project, MSB is the upstream of other projects to provide inter-service communication infrastructure, so it will be involved in the use cases indirectly. 

Just list the use cases of VF-C and MultiCloud project which depends on MSB here  , other use case can also be supported if msb involvement is needed.

Use Case:

Residential Broadband vCPE (Approved)

CCVPN Use Case (Dublin)

vFW/vDNS

vCPE

Functional Requirements:

Hardware Platform Enablement In ONAP

Centralized Representation and Consistent Identification of Cloud Regions In ONAP

Auto Scaling - stretch goal 

Listing of new or impacted models used by the project (for information only)

None