Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 48 Next »

This is a potential draft of a project proposal.  It is not final or to be used until the TSC approves it.

Project Name:

  • Proposed name for the project: Microservices Bus
  • Proposed name for the repository: msb.onap.org

Project description:

Microservices Bus provide key infrastructure functionalities to support Microservice Architecture including service registration/discovery, service gateway, service load balancer. It's a pluggable architecture so it can plugin service provider options like AAF to provide Authentication & Authorization for APIs. Microservices Platform also provides a service portal and service requests logging, tracing and monitoring mechanism, etc.

Scope:

  • 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 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
      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

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
  • 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
    • Integration Testing
    • etc.

MSB Use Case:

  1. System internal service registration by service instance
    • 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
      • 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
      • For external service clients(OSS, BSS, Web client, etc.), access the service via external gateway


  • System internal service registration by service instance
    • Registration

Resources:

  • Names and affiliations of any other contributors

    NameGerrit IDCompanyEmailTime Zone
    Jochen Kappel
    IBMjochen.kappel@de.ibm.com
  • Project Roles (include RACI chart, if applicable)

Other Information:


  • link to API documentation  
    Microservice Bus API Documentation
  • Vendor Neutral
    All proprietary trademarks, logos, product names, etc. have been removed.
  • Meets Board policy (including IPR)
    Yes

Use the above information to create a key project facts section on your project page

Key Project Facts

Project Name:

  • JIRA project name: Microservices Bus
  • JIRA project prefix: MSB

Repo name:
Lifecycle State: Incubation
Primary Contact: RamKoya, HuabingZhao, Al Hua, Sanjay Agraharam, Brijesh Khandelwal
Project Lead: Huabing Zhao huabing.zhao@zte.com.cn
mailing list tag [msb] 
Committers:

please refer to the above table

*Link to TSC approval: 
Link to approval of additional submitters: 

https://gerrit.open-o.org/r/gitweb?p=common-services-microservice-bus.git;a=tree;h=refs/heads/master;hb=refs/heads/master

  • No labels