...
- Service registration
- Registration via Restful API
- Registration via portal
- Registration via proxy
- Note: Registration info is used for service request routing, the info including service name, service exposed url, version, service instance endpoint(IP:Port), service protocol, service ttl, service load balancing method, etc.
- Service discovery - Server side discovery
- service request routing
- service request load balancing
- Service discovery - Client side discovery
- client side discovery SDK
- Service discovery - DNS
- Discovery and load balancing by DNS server
- Service consumer directly talk to service provider
- Service Health Check
- Note: The goal of service health check of MSB is to maintain the correct health status of service at endpoint level in the service registry so the service consumer will not get a failed service provider instance, MSB doesn't try to kill and restart the onap component, which is the scope of OOM(ONAP Operations Manager).
- Service API gateway
- Client request routing
- Client request load balancing
- Transformation, such as https to http
- Provide authentication & authorization for service request with plugin of auth service provider like AAF
Note: MSB itself doesn't provide auth service, which is provided by a auth service provider microservice such as AAF(Authentication and Authorization Framework) - Service request logging
- Service Request Rate-limiting
- Service monitoring
- Request result cache
- Solve cross-domain issue for web application
- Other functionalities with the pluggable architecture capability ...
- Service API Portal
- Provide a Service API Portal to expose all the ONAP Swagger format API descriptions
- Don’t need to maintain an independent API Portal and API description documents – save money and time
- Keep the consistency of the API document with the source code
- Support multiple versions of APIs
- Always get the latest API documents of the current development branch which is generated by CI/CD automatically
- Provide self-service onboarding for developers
- Client SDK
- Service registration&discover client SDK
- Service request client SDK
- Service Mesh
- MSB is planning to support Service Mesh in future release
Architecture Alignment:
- 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
- OOM
- Please Include architecture diagram if possible
- 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, Istio
- Integration Testing
- etc.
...