...
**********************************************************************************************************************************************************************************************************************
DME2 ( Direct Messaging Engine )
...
- Fast-failover - Queuing the requests on server implementation is disabled by default, which allows the client to fast failover if a service provider is consumed at its max capacity.
- Dynamic Routing - The client requests will be routed to the DME2 service provider instances via routing made possible by the dynamic registration of the service provider as instances become available
- Affinity Routing - The client requests will be routed to the service provider by means of data, partner or geographic affinity depending on the client requirements.
- JMS API's - Provides standard JMS API implementation for destinations type as JMS Queues or Point-to-Point messaging
- Async Request/Reply - Enables better use of resources by avoiding the traditional thread per request, thus supporting highly scalable service provider implementation
...
***********************************************************************************************************************************************************
MSB Use Cases:
- 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
- Client side discovery and load balancing
- For external service clients(OSS, BSS, Web client, etc.), access the service via external gateway
- For internal service consumers(Components inside ONAP system, such as A&AI, SO, Controller, etc.)
- Registration
- 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.
- Registration
- 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.
...