一种基于服务网格的核电生产服务治理系统及方法技术方案

技术编号:37676471 阅读:13 留言:0更新日期:2023-05-26 04:41
本发明专利技术属于计算机技术领域,具体涉及一种基于服务网格的核电生产服务治理系统及方法。包括服务网格和Sidecar模块。本发明专利技术的有益效果在于:对服务网格的实现原理以及部署结构进行说明,相比传统的微服务治理方案,服务网格作为一个独立运行在应用服务之外的模块,配置操作简单,实现了与业务服务代码解耦,解放了业务开发人员在微服务治理方面的工作,轻松实现微服务治理功能,减轻开发团队的工作压力,同时也方便了运维人员统一管控各部门及公司的应用服务。的应用服务。

【技术实现步骤摘要】
一种基于服务网格的核电生产服务治理系统及方法


[0001]本专利技术属于计算机
,具体涉及一种基于服务网格的核电生产服务治理系统及方法。

技术介绍

[0002]随着互联网时代用户量不断增长,越来越多的企业使用微服务架构应对高并发场景,随之而来微服务构架带来了一些服务与服务之间的问题。传统的微服务治理方案是在微服务内部处理,通过引入治理依赖包增加注解或者设置治理功能代码实现,具有业务代码侵入性,版本升级成本高,无法实现快速迭代。目前的核电厂对软件微服务的治理提出了更高的要求,通过采用服务网格的方式治理微服务可提升整体效率,服务网格把大部分治理功能从应用业务处理中剥离出来,独立进程,以Sidecar模式部署,以保证业务与治理功能分离,升级迭代互不影响。

技术实现思路

[0003]本专利技术的目的是提供一种基于服务网格的核电生产服务治理系统及方法,能够解决现有的微服务架构带来的服务与服务之间的问题。
[0004]本专利技术的技术方案如下:一种基于服务网格的核电生产服务治理系统,包括服务网格和Sidecar模块。
[0005]所述的服务网格作为基础设施层,用于处理服务间的通信,为应用服务传递可靠的网络请求。
[0006]所述的Sidecar模块使用容器部署,基于容器为单位,在Kubernetes集群中部署Pod附加一个Sidecar容器,Sidecar和应用服务部署在同一个Host上面,服务和Sidecar是两个独立的容器,实现了物理隔离。
[0007]一种基于服务网格的核电生产服务治理方法,包括如下步骤:
[0008]步骤1:服务网格环境搭建
[0009]步骤2:服务治理。
[0010]所述的步骤1服务网格实现,安装前需要有一个的Kubernetes集群环境,选择对应版本的服务网格镜像。
[0011]所述的Kubernetes集群使用v1.18.8版本。
[0012]所述的步骤1包括如下步骤:
[0013]1)下载服务网格安装包,切换到安装包所在目录,使用install命令进行安装;
[0014]2)检验是否安装成功,使用kubectl get pod命令查看命名空间下服务是否正常部署,查看pod是否正常运行;
[0015]3)服务网格开启范围
[0016]命名空间:服务网格可以在指定的命名空间下开启,开启服务网格的命名空间下所有的Pod应用都会自动注入一个sidecar容器;
[0017]指定服务:在没有开启服务网格的命名空间,也可以指定部署的服务,在其应用Pod中注入sidecar。
[0018]所述的步骤2包括如下步骤:
[0019]1)被治理服务部署:
[0020]准备两个版本的demo服务,镜像分别为demo:v1、demo:v2,准备部署文件,Service资源配置文件selector下加入meshSvcName:demo,此选择器的作用是将该Service流量分别导入到带有此标签的Pod实例服务;Pod配置中加入meshSvcName:demo标签,对应于Service资源配置选择器中的内容,分别创建Pod和Service资源;
[0021]2)创建路由,实现按权重的服务灰度
[0022]分别创建VirtualService、DestinationRule两个CRD资源,VirtualService资源用于配置服务路由相关信息,host用于设置路由服务,subset用于指定路由到的服务版本,weight用于设置路由服务的流量权重;DestinationRule资源用于定义服务版本,hosts服务用于设置目标服务,subsets项用于设置服务子版本信息;创建资源即完成按权重控制服务灰度。
[0023]本专利技术的有益效果在于:对服务网格的实现原理以及部署结构进行说明,相比传统的微服务治理方案,服务网格作为一个独立运行在应用服务之外的模块,配置操作简单,实现了与业务服务代码解耦,解放了业务开发人员在微服务治理方面的工作,轻松实现微服务治理功能,减轻开发团队的工作压力,同时也方便了运维人员统一管控各部门及公司的应用服务。
具体实施方式
[0024]下面结合具体实施例对本专利技术作进一步详细说明。
[0025]一种基于服务网格的核电生产服务治理系统,包括服务网格和Sidecar模块。
[0026]所述的服务网格作为基础设施层,用于处理服务间的通信,为应用服务传递可靠的网络请求。在实际使用中,服务网格通常与应用程序一起部署,作为应用服务轻量级的网络代理,它对于应用来说是透明。
[0027]所述的Sidecar模块一般使用容器部署,基于容器为单位,在Kubernetes集群中部署Pod会附加一个Sidecar容器。Sidecar和应用服务部署在同一个Host上面,服务和Sidecar是两个独立的容器,实现了物理隔离,并且与语言无关。因此它可以独立发布和单独控制,只要和业务无关的功能都可以,形成多个Sidecar,不影响业务服务。由于两者在同一Host,所以资源之间可以相互访问。应用服务之间正常发送和接收请求无需关注其它处理,Sidecar会捕获这些消息,为运行时服务提供服务注册发现、智能路由、熔断、故障恢复、访问控制等治理功能,对于服务来说并不需要知道和Sidecar通信。服务之间通过Sidecar代理进行通信。
[0028]一种基于服务网格的核电生产服务治理方法,包括基础网格环境部署、Kubernetes CRD资源创建两部分,其中建立网格环境是实现微服务治理的基础。
[0029]具体为:
[0030]步骤1:服务网格环境搭建
[0031]服务网格实现,安装前需要有一个的Kubernetes集群环境,选择对应版本的服务
网格镜像。所述的Kubernetes集群使用v1.18.8版本。
[0032]使用服务网格有许多优点:
[0033]1)通过使用服务网格可以轻松实现微服务治理,服务代码很少改动甚至无需改动;
[0034]2)整个环境中只需一个特殊Sidecar代理为服务提供支持;
[0035]3)提供丰富的路由规则,对流量进行细粒度控制,通过配置路由规则实现服务级控制,轻而易举完成灰度发布、故障转移和故障注入等功能;
[0036]4)全方位服务治理功能,负载均衡、身份验证授权、日志记录追踪、监控等。
[0037]准备安装环境所需要镜像:
[0038]1)下载服务网格安装包,切换到安装包所在目录,使用install命令进行安装,根据当前网络机器等情况,安装需要一段时间,终端会输出对应模块的安装信息。
[0039]2)检验是否安装成功,使用kubectl get pod命令查看命名空间下服务是否正常部署,查看pod是否正常运行,一般情况下状态Running即认为服务正常运行。
[0040]3)服务网格开启范围
[0041]命名空间:服务网本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于服务网格的核电生产服务治理系统,其特征在于:包括服务网格和Sidecar模块。2.如权利要求1所述的一种基于服务网格的核电生产服务治理系统,其特征在于:所述的服务网格作为基础设施层,用于处理服务间的通信,为应用服务传递可靠的网络请求。3.如权利要求1所述的一种基于服务网格的核电生产服务治理系统,其特征在于:所述的Sidecar模块使用容器部署,基于容器为单位,在Kubernetes集群中部署Pod附加一个Sidecar容器,Sidecar和应用服务部署在同一个Host上面,服务和Sidecar是两个独立的容器,实现了物理隔离。4.一种基于服务网格的核电生产服务治理方法,其特征在于,包括如下步骤:步骤1:服务网格环境搭建;步骤2:服务治理。5.如权利要求4所述的一种基于服务网格的核电生产服务治理方法,其特征在于:所述的步骤1服务网格实现,安装前需要有一个的Kubernetes集群环境,选择对应版本的服务网格镜像。6.如权利要求5所述的一种基于服务网格的核电生产服务治理方法,其特征在于:所述的Kubernetes集群使用v1.18.8版本。7.如权利要求4所述的一种基于服务网格的核电生产服务治理方法,其特征在于,所述的步骤1包括如下步骤:1)下载服务网格安装包,切换到安装包所在目录,使用install命令进行安装;2)检验是否安装成功,使用kubectl get pod命令查看命名空间下服务是否...

【专利技术属性】
技术研发人员:李杰白喆汪骥宇陈武
申请(专利权)人:核动力运行研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1