【云原生与5G】微服务加持5G核心网_柒号华仔的博客-程序员秘密_5g微服务

技术标签: 云原生  微服务  5G  架构  

作者:柒号华仔
个人主页:欢迎访问我的主页
个人信条:星光不问赶路人,岁月不负有心人。
个人方向:专注于5G领域,同时兼顾其他网络协议,编解码协议,C/C++,linux等,感兴趣的小伙伴可以关注我,一起交流。

1.微服务架构概念

1.1 单体架构与分布式架构

  谈到微服务架构,不可避免的会先想起单体架构和分布式架构。
  单体架构是指将所有的功能、模块、数据库等耦合在一个应用中,称之为单体架构应用,理所当然单体架构应用部署在一台服务器上。由于单体架构所有功能模块耦合在一起,若出现问题将导致整个系统应用无法工作,维护成本高。
  分布式结构是将一个大的系统进行拆分,将应用和数据等分开部署到不同的服务器上,不同服务器之间通过网络进行通信,体现的更多是物理上的分布部署。实际上分布式架构已经具有了微服务的特性,但它的耦合性强,每个模块缺一不可,另外构建成本高。

1.2 微服务架构

  微服务体现在两个词,第一是"微",第二是"服务"。微说明了小,简单,在这里我又想到了“单纯”一词,单一纯粹。服务是区别于系统,服务一个或者一组相对较小且独立的功能单元,是用户可以感知最小功能集。
  微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通。每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。
在这里插入图片描述

传统单体架构与微服务架构

  微服务,关键其实不仅仅是微服务本身,而是系统要提供一套基础的架构,这种架构使得微服务可以独立的部署、运行、升级,不仅如此,这个系统架构还让微服务与微服务之间在结构上“松耦合”,而在功能上“高内聚”。

2.微服务与5G核心网

2.1微服务引入5G核心网

  随着微服务架构的发展普及,加上5G技术的演进和发展需求,5GC将云原生的微服务架构引入,构建了面向业务的SBA架构,实现了低耦合+高内聚的技术升级。
  在面向业务的5G网络架构中,将原本的控制面功能进行了融合和统一,同时控制面功能也分解成为多个独立的网络服务,这些独立的网络服务可以根据业务需求进行灵活的组合。每个网络服务和其他服务在业务功能上解耦,并且对外提供同一类型的服务化接口,向其他调用者提供服务,将多个耦合接口转变为同一类型的服务化接口,可以有效地减少接口数量,并统一服务调用方式,进而提升了网络的灵活性。

2.2 5GC核心网SBA架构

在这里插入图片描述

5GC SBA架构

  • 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网络仍然保留了少量的参考点接口,如下:

  • N1:NAS接口,用于发送NAS消息
  • N2:AN与AMF之间NG接口
  • N3:AN与UPF之间对接接口,采用GTP-U协议
  • N4:控制面SMF和用户面UPF分离的设备接口
  • N6:内部网络侧与外部网络侧协议接口,采用GTP-U协议
  • N9:两个UPF之间接口,采用GTP-U协议

2.3 服务化架构带来的优点

  相对于3G/4G的参考点设计,服务化架构使5G核心网各网元的功能模块化,接口统一化,结构简单化以及去中心化。

  • 功能模块化是指对网络功能进行细化,不再是一个网元集成多个功能,而是分解为独立的功能模块。各模块可以分租进行独立开发和快速迭代,使测试、发布软件能够更加地快捷、频繁和可靠。
  • 接口统一化是指各网元之间的通信不再是传统通信的处理机制,即同一设备与其他不同设备间采用不同的接口,服务化架构屏蔽了同一设备与不同设备之间接口的差异,对所有设备提供统一的服务接口,来自不同网元调用统一的服务接口与该网元进行通信。
  • 结构简单化是指提供服务的业务模块可以自注册、发布和发现,取消了传统设备间的耦合,简化了不同网元间的复杂联系,进而缩短了业务流程。将整个控制面功能分解为多个独立的网络服务,客户可以根据实际需求灵活选择不同网元进行切片组合,可以方便的进行扩容和缩容,有效降低了系统复杂度,节省了部署成本。
  • 去中心化是指让用户面网元摆脱以往4G“中心化”的限制,既可以部署于核心网(中心数据中心),也可部署于接入网(边缘数据中心),实现分布式部署。分布式部署可以缩短用户面数据传输距离,降低传输时延,带来更好的用户体验。

3. 总结

  微服务架构是一种架构,更是一种理念,任何先进的理念都将被不同行业和领域融合升级,相互推动,如同4G带来了移动互联网时代,移动互联网的快速发展带来的万物互联需求推动了5G的发展。时至今日,5G上云已经被越来越多的讨论,把传统的单体设备的设计、开发、发布、部署、运维向云上迁移,在边缘计算,网元云部署,海量数据存储和处理等方面,云原生与5G的关系将越来越密切。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/NoBack7/article/details/125628632

智能推荐

安卓常用框架_IT刘小牛的博客-程序员秘密_安卓框架

一、快速开发框架XSnow 基于RxJava2+Retrofit2精心打造的Android基础框架,包含网络、上传、下载、缓存、事件总线、权限管理、数据库、图片加载,基本都是项目中必用功能,每个模块充分解耦,可自由拓展2.MVPArms一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架(包括Mvp、 Dagger2、RxJava、RxAndroid、Rxlifecycle、RxCache、RxPermissions、RxErroHandler、Retrofit、Okht

hadoop1.1.2分布式部署_yinhaonefu的博客-程序员秘密_hdfs://hadoop1:7000

将hadoop-1.1.2.tar.gz放到/usr/local目录下 执行tar

关于C++准备知识_0011411的博客-程序员秘密_c++准备知识

关于C++ 显然你已经知道编程的含义,接下来我们要做的就是开始学习C++。那么什么是C++,为什么我们要学习C++。什么是C++ C++ 这个词在中国大陆的程序员圈子中通常被读做 "C 加加",而西方的程序员通常读做 "see plus plus"。C++是一种计算机编程语言。她是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言,是现存的上百种计算机语言中一种

【微信公众号】2、申请微信公众平台接口测试帐号_微信接口测试号_Asurplus的博客-程序员秘密

公众号要具备开发能力的话,需要在微信公众号平台注册,申请,审核,每年会产生一定的费用,开发阶段,我们可以使用微信公众号的接口测试账号,直接体验和测试公众平台所有高级接口1、接口测试号https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login使用我们自己的微信扫码登录即可2、登录接口测试号登录上来之后,我们就能看到我们测试号的 appid,appsecret 等信息,接口配置信息等3、关注接口测试号向下滑动,可以看到一个二维

socket.io 中namespace 和 room的概念。_全栈无侠的博客-程序员秘密

基本概念看socketio官方文档  http://socket.io/docs/rooms-and-namespaces/namespace 和room的概念其实用来同一个服务端socket多路复用的。namespace,room和socketio的关系如下。socket会属于某一个room,如果没有指定,那么会有一个default的room。这个room又会属于某个namespace,

kmalloc/kfree_vmalloc/vfree_lamdoc的博客-程序员秘密_kmalloc的返回值

Linux 处理内存分配通过创建一套固定大小的内存对象池. 分配请求被这样来处理, 进入一个持有足够大的对象的池子并且将整个内存块递交给请求者. 驱动开发者应当记住的一件事情是, 内核只能分配某些预定义的, 固定大小的字节数组.如果你请求一个任意数量内存, 你可能得到稍微多于你请求的, 至多是 2 倍数量. 同样, 程序员应当记住 kmalloc 能够处理的最小分配是

随便推点

POJ--1191[棋盘分割] 记忆化搜索___简言的博客-程序员秘密

思路:(具体参考《算法艺术与信息学竞赛》)1,先化简均方差公式,可以看出,只需要让每个分割后的矩形的总分的平方和尽量小,即可使均方差最小。2,考虑左上角坐标为(x1,y1),右下角坐标为(x2,y2)的棋盘,设它的总和为s[x1,y1,x2,y2]切割k次以后得到k+1块

机器学习与知识发现_机器视觉学习之工业镜头--硬件知识扫盲学习_weixin_39732866的博客-程序员秘密

今天我来介绍一下工业镜头的相关知识。在前些章节,我介绍了关于光源的知识,没看的同学可以前往观看机器视觉学习之光源--硬件知识扫盲必看如果工业相机没有镜头,那么Sensor感光就是一片噪点,聚焦不在物体上。镜头的作用是收集反射在物体表面的光并将其聚焦在CCD/CMOS上面。镜头就好比人的眼睛一样,人要看清楚一个物体,需要先构图聚焦到某一个物体上,晶状体相当于镜头,光线通过晶状体映射在眼球后部的视网膜...

Windows Server2016 安装及配置DFS实现数据复制_jmallanwong的博客-程序员秘密

我们今天主要介绍的是Windows Server2016 安装及配置DFS实现数据复制,那什么是DFS呢?DFS就是Microsoft文件分布系统 是一个网络服务器组件,它能够使你更容易地在网络上查询和管理数据。分布式文件系统是将分布于不同电脑上的文件组合为单一的名称空间,并使得在网络上建立一个单一的、层次化多重文件服务器和服务器共享的工作更为方便的途径,使用户更加容易访问和管理物理上跨网络分布...

练习题012:编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现_Tianzez的博客-程序员秘密_编写一个程序,它从标准输入读取c源代码,并验证所有花括号都正确地成对出现

C语言练习题目录索引题目:编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现。例如,输入“{()wqwq6}{{{}}}”判断里面的花括号匹配,返回1;输入“{{{}}}{”判断里面的花括号不匹配,返回0。解题思路:设置一个计数器count,当读取到’{‘时count++,当读取到’}’时,count–。用一个while循环遍历整个字符串,最后count为0时,则花

解决SpringBoot与Vue前后端分离下载文件跨域的问题_MrDJun的博客-程序员秘密_vue下载文件跨域

虽然是同一个域名,只要请求方与响应体的协议、域名、端口不一致都会存在跨域问题。虽然后端配置了允许跨域访问、前端也关闭了vue的安全策略,但是在文件下载这里,仍然不能正常下载。第一:在后端的响应体中设置允许跨域的头,如下:private void genCode(HttpServletResponse response, byte[] data) throws IOException { response.reset(); response.addHeader("

aes openssl java_java aes加解密 使用 php openssl 模仿遇到问题 请大佬赐教_weixin_39568653的博客-程序员秘密

题目描述现在有个java的加解密程序,需要改成php的方法来实现现在有对方的java加密程序 我用openssl得到的结果不一样题目来源及自己的思路JAVA 示例中:public static byte[] generateAesKey(int keysize, String key) {try {KeyGenerator keyGenerator = KeyGenerator.getInstan...

推荐文章

热门文章

相关标签