发布时间:2024-08-09 09:01
作者:柒号华仔
个人主页:欢迎访问我的主页
个人信条:星光不问赶路人,岁月不负有心人。
个人方向:专注于5G领域,同时兼顾其他网络协议,编解码协议,C/C++,linux等,感兴趣的小伙伴可以关注我,一起交流。
谈到微服务架构,不可避免的会先想起单体架构和分布式架构。
单体架构是指将所有的功能、模块、数据库等耦合在一个应用中,称之为单体架构应用,理所当然单体架构应用部署在一台服务器上。由于单体架构所有功能模块耦合在一起,若出现问题将导致整个系统应用无法工作,维护成本高。
分布式结构是将一个大的系统进行拆分,将应用和数据等分开部署到不同的服务器上,不同服务器之间通过网络进行通信,体现的更多是物理上的分布部署。实际上分布式架构已经具有了微服务的特性,但它的耦合性强,每个模块缺一不可,另外构建成本高。
微服务体现在两个词,第一是"微",第二是"服务"。微说明了小,简单,在这里我又想到了“单纯”一词,单一纯粹。服务是区别于系统,服务一个或者一组相对较小且独立的功能单元,是用户可以感知最小功能集。
微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通。每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。
微服务,关键其实不仅仅是微服务本身,而是系统要提供一套基础的架构,这种架构使得微服务可以独立的部署、运行、升级,不仅如此,这个系统架构还让微服务与微服务之间在结构上“松耦合”,而在功能上“高内聚”。
随着微服务架构的发展普及,加上5G技术的演进和发展需求,5GC将云原生的微服务架构引入,构建了面向业务的SBA架构,实现了低耦合+高内聚的技术升级。
在面向业务的5G网络架构中,将原本的控制面功能进行了融合和统一,同时控制面功能也分解成为多个独立的网络服务,这些独立的网络服务可以根据业务需求进行灵活的组合。每个网络服务和其他服务在业务功能上解耦,并且对外提供同一类型的服务化接口,向其他调用者提供服务,将多个耦合接口转变为同一类型的服务化接口,可以有效地减少接口数量,并统一服务调用方式,进而提升了网络的灵活性。
- NSSF:Network Slice Selection Function 网络切片选择功能
- NEF:Network Exposure Function 网络能力开放功能
- NRF:Network Repository Function 网络存储功能
- PCF:Policy Control Function 策略控制功能
- UDM:Unified Data Management 通用数据管理
- AF:Application Function 应用功能
- AUSF:Authentication Server Function 鉴权服务功能
- AMF:Access and Mobility Management Function 接入与移动性管理功能
- SMF:Session Management Function 会话管理功能
- SCP:Service Communication Proxy 服务通信代理
- UE:User Equipment 用户终端
- RAN:RadioAccess Network 无线接入网
- UPF:User Plane Function 用户面功能
- DN:Data Network 数据网络
在SBA架构中,每个核心网网元的接口统一命名为“N +小写英文功能名缩写”。例如,网络切片选择功能NSSF的接口为Nnssf;5G核心网网元的服务操作名称以接口名开始,例如,Nnssf_NSSelection表示NSSF的网络切片选择操作。除了统一的服务化接口外,5G网络仍然保留了少量的参考点接口,如下:
相对于3G/4G的参考点设计,服务化架构使5G核心网各网元的功能模块化,接口统一化,结构简单化以及去中心化。
微服务架构是一种架构,更是一种理念,任何先进的理念都将被不同行业和领域融合升级,相互推动,如同4G带来了移动互联网时代,移动互联网的快速发展带来的万物互联需求推动了5G的发展。时至今日,5G上云已经被越来越多的讨论,把传统的单体设备的设计、开发、发布、部署、运维向云上迁移,在边缘计算,网元云部署,海量数据存储和处理等方面,云原生与5G的关系将越来越密切。