CN114816440A - 构建分布式微服务网络控制器架构的方法 - Google Patents
构建分布式微服务网络控制器架构的方法 Download PDFInfo
- Publication number
- CN114816440A CN114816440A CN202210497656.3A CN202210497656A CN114816440A CN 114816440 A CN114816440 A CN 114816440A CN 202210497656 A CN202210497656 A CN 202210497656A CN 114816440 A CN114816440 A CN 114816440A
- Authority
- CN
- China
- Prior art keywords
- dapr
- network controller
- microservice
- constructing
- controller architecture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 101100297732 Mus musculus Plekhm3 gene Proteins 0.000 claims abstract description 41
- 238000012423 maintenance Methods 0.000 abstract description 4
- 230000007547 defect Effects 0.000 abstract description 3
- 230000004075 alteration Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种构建分布式微服务网络控制器架构的方法,包含如下步骤:创建Dapr开发环境;在Dapr开发环境中安装Dapr CLI工具;验证Dapr CLI工具是否安装成功;在Dapr开发环境中创建若干个微服务;容器化处理若干个微服务,获得若干个应用容器;对若干个应用容器进行联调;将若干个应用容器分别部署到不同的主机上。本发明将整个网络控制器软件运行在不同的服务器上并提供容器的备份,大大降低了网络控制器软件的开发复杂度并提高了系统的稳定性,解决了现有技术中存在的网络管理系统的开发和维护难度高,系统的运行风险大的缺陷。
Description
技术领域
本发明涉及网络控制器管理软件技术领域,特别涉及一种构建分布式微服务网络控制器架构的方法。
背景技术
引入网络控制器管理软件,可以极大地提升数据中心网络的承载和服务能力。网络控制器作为整个数据中心网络的“大脑”,网络控制器管理软件的可靠部署对数据中心网络的安全稳定运行非常重要。
传统数据中心网络控制器多使用统一编程语言进行集中式开发,最终实现为一个单一的控制器软件,如果软件运行过程中出现错误,会导致整个网络控制器软件的崩溃,影响所有业务的正常运行。复杂度高的控制器软件会占用服务器大量的CPU/内存等资源,单台服务器也不能满足网络控制器软件所需要的资源,提高了网络管理系统的开发和维护难度,增加了系统运行的风险。
发明内容
根据本发明实施例,提供了一种构建分布式微服务网络控制器架构的方法,包含如下步骤:
创建Dapr(Distributed Application Runtime,分布式应用运行时)开发环境;
在Dapr开发环境中安装Dapr CLI工具;
验证Dapr CLI工具是否安装成功;
在Dapr开发环境中创建若干个微服务;
容器化处理若干个微服务,获得若干个应用容器;
对若干个应用容器进行联调;
将若干个应用容器分别部署到不同的主机上。
进一步,验证Dapr CLI工具是否安装成功,包含如下子步骤:
初始化Dapr开发环境;
在Dapr开发环境中执行Dapr CLI工具的显示版本号信息指令。
进一步,若干个应用容器包含:API网关微服务、user管理微服务、OAM微服务与webhook微服务。
进一步,API网关微服务基于Lua语言创建,user管理微服务基于golang语言创建,OAM微服务基于node.js语言创建,webhook微服务基于python语言创建。
进一步,若干个应用容器均为Docker容器。
进一步,主机为物理主机或虚拟主机。
进一步,将一个或多个应用容器部署到任一个主机上。
进一步,采用Dapr开发环境的Kubernetes容器将若干个应用容器分别部署到不同的主机上。
进一步,Kubernetes容器为若干个应用容器的容器业务提供备份。
根据本发明实施例的构建分布式微服务网络控制器架构的方法,采用Python/Golang/Node.js等编程语言及开源软件架构Dapr,快速开发微服务网络控制器,并且利用Docker技术将微服务容器化,通过Kubernetes管理和部署网络控制器的Docker容器,最终达到将整个网络控制器软件运行在不同的服务器上并提供容器的备份,大大降低了网络控制器软件的开发复杂度并提高了系统的稳定性,解决了现有技术中存在的网络管理系统的开发和维护难度高,系统的运行风险大的缺陷。
要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并 且意图在于提供要求保护的技术的进一步说明。
附图说明
图1为根据本发明实施例构建分布式微服务网络控制器架构的方法的原理图;
图2为根据本发明实施例构建分布式微服务网络控制器架构的方法的流程图;
图3为图2中的步骤S3的子步骤的流程图。
具体实施方式
以下将结合附图,详细描述本发明的优选实施例,对本发明做进一步阐述。
首先,将结合图1~3描述根据本发明实施例的构建分布式微服务网络控制器架构的方法,用于管理大型数据中心网络,其应用场景广阔。
如图1~3所示,本发明实施例的构建分布式微服务网络控制器架构的方法,包含如下步骤:
在S1中,如图1~2所示,创建Dapr(Distributed Application Runtime,分布式应用运行时)开发环境。
在S2中,如图1~2所示,在Dapr开发环境中安装Dapr CLI工具。
在S3中,如图1~2所示,验证Dapr CLI工具是否安装成功。
进一步,验证Dapr CLI工具是否安装成功,包含如下子步骤:
在S31中,如图1、3所示,初始化Dapr开发环境。
在S32中,如图1、3所示,在Dapr开发环境中执行Dapr CLI工具的显示版本号信息指令,其中Dapr CLI工具的显示版本号信息指令包括但不限于指令“Dapr-V”,来验证Dapr版本,验证容器是否正在运行,以及验证组件目录是否已初始化,达到验证Dapr CLI工具是否安装成功的目的。
在S4中,如图1~2所示,在Dapr开发环境中创建若干个微服务。
进一步,如图1所示,若干个应用容器包含:API网关微服务、user管理微服务、OAM微服务与webhook微服务。
进一步,API网关微服务基于Lua语言创建,user管理微服务基于golang语言创建,OAM微服务基于node.js语言创建,webhook微服务基于python语言创建。
在S5中,如图1~2所示,容器化处理若干个微服务,获得若干个应用容器。
在S6中,如图1~2所示,对若干个应用容器进行联调。
进一步,如图1所示,若干个应用容器均为应用容器均通过Docker容器技术制作而成的Docker容器,且若干个应用容器分别为网关微服务Docker、用户管理微服务Docker、OAM微服务Docker、webhook微服务Docker。
在S7中,如图1~2所示,将若干个应用容器分别部署到不同的主机上。
进一步,将一个或多个应用容器部署到任一个主机上。
进一步,主机为物理主机或虚拟主机。
进一步,如图1~2所示,采用Dapr开发环境的Kubernetes容器对若干个应用容器进行编排管理和部署,将若干个应用容器部署到不同的物理或者虚拟主机上。
进一步,Kubernetes容器为若干个应用容器的容器业务提供备份。
本实施例主要提供了一种利用Docker和Kubernetes(K8S)管理微服务网络控制器,将整个微服务网络控制器部署到不同的服务器上。首先利用开源软件架构Dapr(Distributed Application Runtime)及Python、Golang、Node.js、Java等软件编程语言,开发一个网络控制器的各项业务。然后通过Docker容器化技术,将网络控制器的各项业务运行在不同的Docker容器中,实现不同业务的解耦。然后通过Kubernetes管理和部署网络控制器的Docker容器,最终达到将整个网络控制器软件运行在不同的服务器上的目的。本实施例不仅实现了网络控制器内不同业务代码上的解耦,同时保证了不同的微服务的业务运行在不同的物理或者虚拟主机,并提供容器的备份,大大降低了网络控制器软件的开发复杂度并提高了系统的稳定性,本实施例的提出具有较强的实际应用意义。
以上,参照图1~3描述了根据本发明实施例的构建分布式微服务网络控制器架构的方法,采用Python/Golang/Node.js等编程语言及开源软件架构Dapr,快速开发微服务网络控制器,并且利用Docker技术将微服务容器化,通过Kubernetes管理和部署网络控制器的Docker容器,最终达到将整个网络控制器软件运行在不同的服务器上并提供容器的备份,大大降低了网络控制器软件的开发复杂度并提高了系统的稳定性,解决了现有技术中存在的网络管理系统的开发和维护难度高,系统的运行风险大的缺陷。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (9)
1.一种构建分布式微服务网络控制器架构的方法,其特征在于,包含如下步骤:
创建Dapr开发环境;
在所述Dapr开发环境中安装Dapr CLI工具;
验证所述Dapr CLI工具是否安装成功;
在所述Dapr开发环境中创建若干个微服务;
容器化处理所述若干个微服务,获得若干个应用容器;
对所述若干个应用容器进行联调;
将所述若干个应用容器分别部署到不同的主机上。
2.如权利要求1所述构建分布式微服务网络控制器架构的方法,其特征在于,验证所述Dapr CLI工具是否安装成功,包含如下子步骤:
初始化所述Dapr开发环境;
在所述Dapr开发环境中执行所述Dapr CLI工具的显示版本号信息指令。
3.如权利要求1所述构建分布式微服务网络控制器架构的方法,其特征在于,所述若干个应用容器包含:API网关微服务、user管理微服务、OAM微服务与webhook微服务。
4.如权利要求3所述构建分布式微服务网络控制器架构的方法,其特征在于,所述API网关微服务基于Lua语言创建,所述user管理微服务基于golang语言创建,所述OAM微服务基于node.js语言创建,所述webhook微服务基于python语言创建。
5.如权利要求1所述构建分布式微服务网络控制器架构的方法,其特征在于,所述若干个应用容器均为Docker容器。
6.如权利要求1所述构建分布式微服务网络控制器架构的方法,其特征在于,所述主机为物理主机或虚拟主机。
7.如权利要求1所述构建分布式微服务网络控制器架构的方法,其特征在于,将一个或多个所述应用容器部署到任一个所述主机上。
8.如权利要求1所述构建分布式微服务网络控制器架构的方法,其特征在于,采用所述Dapr开发环境的Kubernetes容器将所述若干个应用容器分别部署到不同的主机上。
9.如权利要求8所述构建分布式微服务网络控制器架构的方法,其特征在于,所述Kubernetes容器为所述若干个应用容器的容器业务提供备份。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210497656.3A CN114816440A (zh) | 2022-05-09 | 2022-05-09 | 构建分布式微服务网络控制器架构的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210497656.3A CN114816440A (zh) | 2022-05-09 | 2022-05-09 | 构建分布式微服务网络控制器架构的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114816440A true CN114816440A (zh) | 2022-07-29 |
Family
ID=82512721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210497656.3A Pending CN114816440A (zh) | 2022-05-09 | 2022-05-09 | 构建分布式微服务网络控制器架构的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114816440A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785780A (zh) * | 2022-03-14 | 2022-07-22 | 广东利通科技投资有限公司 | 车道业务数据处理方法、装置、设备、介质和程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113382077A (zh) * | 2021-06-18 | 2021-09-10 | 广西电网有限责任公司 | 微服务调度方法、装置、计算机设备和存储介质 |
US11204818B1 (en) * | 2021-01-28 | 2021-12-21 | Sap Se | Cloud application programming model |
CN114172782A (zh) * | 2021-11-24 | 2022-03-11 | 杭州云合智网技术有限公司 | 构建基于微服务和多语言的网络控制器架构的方法 |
-
2022
- 2022-05-09 CN CN202210497656.3A patent/CN114816440A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11204818B1 (en) * | 2021-01-28 | 2021-12-21 | Sap Se | Cloud application programming model |
CN113382077A (zh) * | 2021-06-18 | 2021-09-10 | 广西电网有限责任公司 | 微服务调度方法、装置、计算机设备和存储介质 |
CN114172782A (zh) * | 2021-11-24 | 2022-03-11 | 杭州云合智网技术有限公司 | 构建基于微服务和多语言的网络控制器架构的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785780A (zh) * | 2022-03-14 | 2022-07-22 | 广东利通科技投资有限公司 | 车道业务数据处理方法、装置、设备、介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2417416C2 (ru) | Развертывание решений в ферме серверов | |
US7150014B2 (en) | Automatically deploying software packages used in computer systems | |
US20050262501A1 (en) | Software distribution method and system supporting configuration management | |
US9465625B2 (en) | Provisioning of operating environments on a server in a networked environment | |
US8578371B2 (en) | Software distribution method and system with automatic prerequisite installation | |
CN103226493B (zh) | 多操作系统业务的部署方法和系统 | |
CN112230942A (zh) | 一种支持多种国产化操作系统的自动化部署方法与系统 | |
CN101571809A (zh) | 一种插件注册的实现方法及其装置 | |
US7698391B2 (en) | Performing a provisioning operation associated with a software application on a subset of the nodes on which the software application is to operate | |
CN110673923A (zh) | Xwiki系统配置方法、系统及计算机设备 | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
CN111104201A (zh) | 系统迁移方法和装置、电子设备、存储介质 | |
US7464118B2 (en) | Algorithm for maximizing application availability during automated enterprise deployments | |
US20060123040A1 (en) | Algorithm for automated enterprise deployments | |
CN104468791A (zh) | 私有云IaaS平台的构建方法 | |
CN113315754A (zh) | 容器出访防火墙智能联动方法及装置、设备、介质 | |
CN109799998A (zh) | OpenStack集群配置及批量部署方法及系统 | |
CN110784347A (zh) | 一种容器集群的节点管理方法、系统、设备及存储介质 | |
CN114816440A (zh) | 构建分布式微服务网络控制器架构的方法 | |
US20020144002A1 (en) | Method and apparatus for providing application specific strategies to a JAVA platform including start and stop policies | |
CN113419813B (zh) | 一种基于容器平台部署裸机管理服务的方法及装置 | |
US7434041B2 (en) | Infrastructure for verifying configuration and health of a multi-node computer system | |
CN114172782B (zh) | 构建基于微服务和多语言的网络控制器架构的方法 | |
CN114500268B (zh) | chart资源的部署方法、装置、服务器及存储介质 | |
US12039473B2 (en) | Software development project infrastructure builder tool |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Country or region after: China Address after: 3 / F, 665 Zhangjiang Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai Applicant after: Yunhe Zhiwang (Shanghai) Technology Co.,Ltd. Address before: 311203 floor 12, building 2, Purple Orange International Center, No. 39, Jincheng Road, Xiaoshan District, Hangzhou, Zhejiang Province Applicant before: Hangzhou yunhezhi Network Technology Co.,Ltd. Country or region before: China |
|
CB02 | Change of applicant information |