ARC MSB Component Description - Jakarta-R10
Page Status: Updated for Istanbul - Mar 22, 2021
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) |
---|---|---|---|
MSBE-1 | Registration and Discovery interface | The registration and discovery interface provides the following capabilities:
| 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) |
---|---|---|
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:
According to Requirement 437 and 438 (see below), all components of MSB have to update the python and java language's version.
REQ-437: COMPLETION OF PYTHON LANGUAGE UPDATE (v2.7 → v3.x)In Progress
REQ-438: COMPLETION OF JAVA LANGUAGE UPDATE (v8 → v11)In Progress
More details: MSB Honolulu Release Planning
7. References
MSB interface specification:Microservice Bus API Documentation
Overall introduction:https://docs.onap.org/projects/onap-msb-apigateway/en/latest/index.html#master-index