ONAP MSB(Microservice bus)项目简介

Posted 数字物理孪生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ONAP MSB(Microservice bus)项目简介相关的知识,希望对你有一定的参考价值。

      开放网络自动化平台(ONAP)是一个开源软件项目,ONAP是一个对物理和虚拟化网元(VNF)进行实时、策略驱动的编排和自动化管理的综合平台,使软件,网络,IT和云提供商和开发人员能够快速自动化提供新服务并对服务支持全生命周期管理。ONAP由Linux基金会的OPEN-O项目和AT&T ECOMP(Enhanced Control, Orchestration, Management and Policy)合并而成。

        就像其他行业应用一样在向云原生应用转型,ONAP作为电信新一代网管系统也采用微服务架构,各个模块按照微服务的原则进行设计,对外提供接口,模块之间的接口调用都通过微服务总线(MSB)进行,MSB类似面向服务架构(SOA)时代的企业服务总线(ESB),可以说微服务架构是对SOA架构的继承和发展,以更正确的方式实施SOA。

图1 ONAP Casablanca 版本架构


MSB的主要功能


MSB(微服务总线)是一个ONAP项目的一个子项目,作为微服务基础设施支持ONAP微服务架构(OMSA),主要功能包括:     

  • 服务注册中心,提供服务注册/发现的RESTFul API

  • 提供用于服务注册、发现客户端Java SDK

  • 使用OOM-Kube2MSB提供透明的服务注册代理

  • 外部API网关,用于向外部系统公开ONAP服务API

  • 内部服务之间的API网关,提供内部服务发现,负载均衡,路由,熔断等容错处理。

ONAP MSB(Microservice bus)项目简介

图2 MSB主要组件


服务注册中心

MSB使用consul作为服务注册中心,保存服务注册信息,对外提供服务注册和发现的REST API。


ONAP MSB(Microservice bus)项目简介

图3 consul架构

cosul具有以下特点:

  • 内置全面的服务健康检查解决方案,同时允许用户提供定制的健康检查方案。

  • 动态负载平衡。

  • 支持单个数据中心,可扩展支持多个数据中心。

  • 与Docker完美集成。


       服务注册

        服务注册支持两种方式,一种是微服务通过调用注册中心的API完成服务注册,另外MSB提供Java SDK,可以通过SDK完成服务注册。

        服务发现

        类似其他微服务发现机制,MSB也支持两种服务发现机制:客户端服务发现和服务端服务发现。

ONAP MSB(Microservice bus)项目简介

图4 服务端服务发现

        服务端发现由消费微服务直接发起调用到负载均衡,负载均衡到注册中心获取可用的微服务实例列表,然后根据一定的负载均衡算法,把请求路由到后端被调用的微服务实例上。服务端发现对于服务调用微服务(消费者)比较简单,但相对于客户端发现,多了从负载均衡到注册中心这一跳。

ONAP MSB(Microservice bus)项目简介

图5 客户端服务发现

       客户端服务发现由消费服务直接到注册中心获取可用的被调用微服务列表,然后根据一定的负载均衡算法去选一个实例,完成调用。ONAP MSB提供Java SDK来完成客户端服务发现。在spring cloud框架里面,项目Feign可以用来完成客户端服务发现。

 

API网关

        MSB的API网关包含内部API网关和外部API网关,内部API网关用于内部服务之间的API调用,用于服务端服务发现、负载均衡,类似一个内部服务的API hub.

        MSB外部API网关用户ONAP系统对外提供接口服务,提供边缘服务,所有外部服务请求的入口,具有动态路由、过载保护、限速、认证和鉴权、API调用统计分析及请求格式转换等功能。

图6 ESB内部和外部API网关结构


Istio Service Mesh集成

       业界目前比较明显的趋势是将微服务应用管理这层从支撑平台中解耦出来,形成ServiceMesh 层,包括服务的路由、负载均衡、流量分配和监控等一系列功能,都由ServiceMesh 来完成。

        Istio作为一个新的微服务治理框架,由Google、IBM、lyft共同推出。

        在ONAP卡萨布兰卡发布版,MSB主要关注Istio服务网与ONAP的集成,以增强OMSA,同时保持Istio集成与现有的MSB API网关方式兼容。

  • 将Istio与ONAP集成,以提供可靠,安全和灵活的服务通信层(服务发现/重试/断路器/路由规则/策略)

  • 集成CNCF jaeger项目提供分布式跟踪,集成Prometheus和Grafana提供性能指标收集和展示

  • 集成MSB Portal到控制平面,提供服务目录,Restful API的swagger UI,服务网格配置等

图7 与Istio集成

总结

        ONAP 微服务总线MSB为ONAP各微服务提供治理功能,包括服务注册和发现、API网关及SDK,相当于ONAP各模块的交换中心,从ONAP Casablanca 版开始和无侵入服务治理框架Istio集成,用Istio作为微服务治理框架。


参考文档:

  1. https://wiki.onap.org/display/DW/Microservices+Bus+Project

  2. https://www.consul.io/docs/internals/architecture.html

  3. https://wiki.onap.org/display/DW/MSB+Casablanca+Architecture+Review

以上是关于ONAP MSB(Microservice bus)项目简介的主要内容,如果未能解决你的问题,请参考以下文章

ONAP — 系统架构

ONAP — 系统架构

ONAP — 边缘自动化方案

ONAP — 边缘自动化方案

ONAP — CCVPN 跨域 SDN 协同编排

ONAP — 编排的核心:模型驱动