...
- Service registration
- Registration via Restful API
- Registration via portal
- Registration via proxy
- 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 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 service instance, 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
- 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
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
- 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
- Integration Testing
- etc.
...