OCNRF Architecture

OCNRF comprises of various microservices deployed in Kubernetes based Cloud Native Environment (CNE, example: OC-CNE). Some common services like logs or metrics data collection, analysis and graphs or charts visualization, etc. are provided by the environment. The microservices integrate with them and provide them necessary data. The following diagram describes the overall architecture of the OCNRF:

Figure 3-1 Oracle Communications Network Repository Function Architecture Diagram

The followings are the components of OCNRF product:

  • NRF API Gateway
    All NRF service requests are sent to the NRF API Gateway. The API Gateway hides the deployment details of the NRF services and other components from other NFs in the CNE and external entities. It is deployed in the CNE as a Kuberbetes service by the NRF Helm Chart.

    Note:

    Ambassador is used as NRF API Gateway

    The primary functions of the NRF API Gateway are as follows:

    • It shall be the NRF endpoint hosting the FQDN(s) of the NRF deployment
    • Inspects the service URI and route the traffic to the appropriate upstream NRF micro-service
    • Measures the request count routed to each micro-service
    • Measures the response count based on the HTTP Status Code
    • Generates HTTP Trace data for the requests routed through
    • Generates the logs of the routing activity
    • Integrates with CNE common services EFK, Prometheus and Jaeger for sending them logs, metrics data and HTTP Tracing data respectively
  • NF Registration MicroService

    This microservice handles the following service operations:

    • receives and handles NFRegister service requests from the NFs
    • receives and handles NFUpdate service requests from the NFs
    • receives and handles NFDeregister service requests from the NFs
    • receives and handles NFListRetrieval service requests from the NFs
    • receives and handles NFProfileRetrieval service requests from the NFs
    • receives and handles the Heart-beat messages from the NFs
  • NF Subscription MicroService

    This microservice handles the following service operations:

    • receives and handles NFStatusSubscribe service requests from the NFs
    • receives and handles NFStatusUnsubscribe service requests from the NFs
    • sends NFStatusNotify service requests towards the subscribed NFs
    • stores the subscription data in its own data store using the database service
  • NF Discover MicroService

    This microservice handles the following service operations:

    • receives and handles NFDiscover service requests from the NFs
  • OCNRF Auditor MicroService

    This microservice is internal to OCNRF. This microservice performs the following tasks:

    • finds and deletes the expired subscription records
    • finds and deletes the profile records which have been SUSPENDED for a very long time
    • processes the heartbeat records and update them if a heartbeat is missed
    • transitions the profiles from REGISTERED to SUSPENDED state if n consecutive heartbeats are missed
    • monitors the heart-beat expiry, mark the NF profiles as suspended and act appropriately on the suspended NF profiles
  • NRF Configuration Microservice

    This microservice is used to do the configuration in OCNRF which can be changed dynamically by a operator/user using REST based interface. The dynamic configuration data or Provisioning data is application configuration data which is required for an OCNRF screening feature to function in a desired manner. This configuration data is managed by the OCNRF configuration service and is stored in a separate data store.

  • Data Service

    The data service is deployed by the CNE provider. It is a common CNE service with persistent data storage and highly available clustered MySql. The OCNRF microservices create their data store using the Data Service upon initialization.

Note:

For information on configuring NRF microservices, See the OCNRF Cloud Native Installation and Upgrade Guide.