ARC MSB Component Description - Honolulu-R8

Page Status: Copied from Guilin-R7 - Aug-24-2020

Component Status: Pending PTL updates and ArchCom Review

Last Reviewed on:

Certified by:

MSB (Micro Service Bus):

1 High Level Component Definition and Architectural Relationships 





The Microservice Bus function provides service registration, discovery and communication services for microservices as well as a gateway for internal & External communication for the services:

  • Register communication services

  • Discover communication services

  • Manage communication between microservices

OOM connects to MSB to register and update service information when it instantiates service endpoints. 

MSB and DMaaP are complementary. MSB provides the restful API service registration/discovery/routing/API gateway, which addresses the sync/rpc communication pattern in microservice architecture,  in contrast, DMaaP provides messages/file transfer, which mainly focused on the async communication pattern in microservices architecture. 

2. API definitions

2.1 MSB provides the following interfaces:

These are separate interfaces.

Interface Name

Interface Definition

 Interface Capabilities

API Spec (Swagger)

Interface Name

Interface Definition

 Interface Capabilities

API Spec (Swagger)

MSBE-1

Registration and Discovery interface 

The registration and discovery interface provides the following capabilities:

  • Register/Unregister a service

  • Discover a service 

Microservice Bus API Documentation#RegisterservicetotheMicroserviceBus

MSBE-2

Service Request Interfaces

Provides the capability to deliver and receive a service request and subsequent communication.|

MSB API gateway acts as a proxy between the client and the server, the client just sends the request to MSB API gateway IP+Port, MSB handles the service discovery and reliable communication with the backend service including load balancing, retries, circuit breaker, etc.

MSBE-3 

 MSB Admin Interface

Provides the ability to administer policy and routing for the service requests. 

It's a management UI for viewing or modifying registered services, you can find it at HTTPs://MSB_API_AGATEWAY_IP:80 on your running MSB instance.

Note:   xxxI interface is a Component internal interface.  xxxxE interface is a component external interface

The current API documents can be found at:

2.2 MSB consumes the following Interfaces:

Interface Name

Purpose Reason For Use

API Spec (Swagger)

Interface Name

Purpose Reason For Use

API Spec (Swagger)

N/A

N/A





3. Component Description:

A more detailed figure and description of the component

https://docs.onap.org/projects/onap-msb-apigateway/en/latest/index.html#master-index

https://docs.onap.org/projects/onap-msb-apigateway/en/latest/platform/architecture.html

4. known system limitations



MSB API gateway has been performance tested in this scenario:

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

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

  • Network 10000M 

The test result is 50000 request per second.



5. System Deployment Architecture

MSB consists of X containers:

https://docs.onap.org/projects/onap-msb-apigateway/en/latest/platform/installation.html

6. New Capabilities in this Release

This release, MSB adds the following Capabilities:

7. References

  1. MSB interface specification:Microservice Bus API Documentation  

  2. Overall introduction:https://docs.onap.org/projects/onap-msb-apigateway/en/latest/index.html#master-index