CN117609973B - 一种注册中心纳管方法、系统、装置及服务器 - Google Patents
一种注册中心纳管方法、系统、装置及服务器 Download PDFInfo
- Publication number
- CN117609973B CN117609973B CN202410093535.1A CN202410093535A CN117609973B CN 117609973 B CN117609973 B CN 117609973B CN 202410093535 A CN202410093535 A CN 202410093535A CN 117609973 B CN117609973 B CN 117609973B
- Authority
- CN
- China
- Prior art keywords
- registry
- target
- interface
- filling
- type
- 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.)
- Active
Links
- 239000002071 nanotube Substances 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000006870 function Effects 0.000 claims abstract description 143
- 238000013475 authorization Methods 0.000 claims description 34
- 238000003860 storage Methods 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 7
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 11
- 230000000007 visual effect Effects 0.000 abstract description 6
- 238000011161 development Methods 0.000 abstract description 5
- 238000012986 modification Methods 0.000 abstract description 4
- 230000004048 modification Effects 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 57
- 239000008186 active pharmaceutical agent Substances 0.000 description 26
- 239000000306 component Substances 0.000 description 22
- 241000412611 Consul Species 0.000 description 9
- 238000012550 audit Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 9
- 230000036541 health Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000004083 survival effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2117—User registration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种注册中心纳管方法、系统、装置及服务器,属于网络技术领域。该方法用于注册中心纳管系统,能够纳管不同类型的注册中心,提供可视化的管理界面,支持快速修改注册中心信息,并能够自动同步注册中心数据,大大简化注册中心的管理和维护工作,提高系统的可靠性和稳定性,且统一了使用注册中心的入口,简化了对不同注册中心的维护和使用成本同时,该系统还需要根据不同注册中心的特点,提供相应的管理功能,以支持微服务架构的开发和部署。
Description
技术领域
本申请实施例涉及网络技术领域,特别涉及一种注册中心纳管方法、系统、装置、终端、服务器。
背景技术
微服务(Micro Service)是一种软件开发技术,是面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。另外,也提倡尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言、工具对其进行构建。
然而在多服务场景下,对于使用者来说需要学习和适应多种不同的接口和使用方式,增加了学习成本和使用难度,且由于不同类型的注册中心之间存在差异,使得管理和维护工作变得更加困难和繁琐,此外,注册中心存储着微服务的敏感信息,如服务名称、IP地址等,容易面临信息泄露和攻击的风险。
如随着微服务架构的兴起,目前主流的注册中心包括nacos、eureka、consul、zookeeper等,它们都提供了各自的API和功能,但由于它们的实现方式不同,它们之间的接口和使用方式也存在差异。在实际应用中,通常需要同时使用多个不同类型的注册中心,这就导致了不同注册中心之间接口不一致的问题。同时,注册中心的部署和管理也比较繁琐,需要手动添加、修改、删除注册中心的信息,并且需要保证注册中心之间的数据一致性和可靠性,这对于运维人员来说也是一项非常繁重的工作。
发明内容
本申请实施例提供了一种注册中心纳管方法、系统、装置及服务器,能够解决微服务中注册中心统一管理困难的问题。所述技术方案如下:
一方面,提供了一种注册中心纳管方法,所述方法适用于注册中心纳管系统,所述方法包括:
根据目标注册中心的类型选择指令提供目标填写界面,所述类型选择指令由类型选择界面受到触发生成并指示所述目标注册中心对应的目标注册中心类型,所述类型选择界面提供有至少一种注册中心类型,不同注册中心类型设置有对应的填写界面;
响应于填写完成,获取所述目标注册中心对应的目标填写信息;
通过统一调用入口对所述目标注册中心的功能信息进行描述得到对应的目标功能名称集,各注册中心类型各自对应有功能名称总集,所述目标功能名称集为所述功能名称总集的子集,所述统一调用入口用于支持不同类型的注册中心进行功能描述;
根据所述目标填写信息和所述目标功能名称集生成目标插件,并将所述目标插件加载到所述注册中心纳管系统的集中存储区域,所述目标插件用于对所述目标注册中心进行动态加载。
可选的,所述方法还包括:
根据历史注册中心确定出至少一种注册中心类型;
生成各注册中心类型各自对应的填写界面。
可选的,所述根据历史注册中心确定出至少一种注册中心类型,包括:
获取所述历史注册中心的配置信息;
根据配置信息是否统一确定出至少一种注册中心类型,不同注册中心类型各自有对应的统一配置信息。
可选的,所述生成各注册中心类型各自对应的填写界面,包括:
获取各注册中心类型各自对应的统一配置信息;
根据界面显示规则将各注册中心类型对应的统一配置信息进行显示,生成各注册中心类型对应的填写界面。
可选的,所述方法还包括:
响应于接收到所述目标注册中心的新增请求,生成授权界面;
所述根据目标注册中心的类型选择指令提供目标填写界面,包括:
响应于所述授权界面完成授权认证,提供所述目标填写界面。
可选的,所述统一调用入口表示为POST: {base_url}/{rsId}/{method} -body{json}。
另一方面,提供了一种注册中心纳管系统,所述注册中心纳管系统应用有如上述所述的注册中心纳管方法,所述系统包括UI层、API层、注册中心描述层、注册中心管理层、注册中心容器层和集中存储区域;
所述UI层用于界面展示并提供交互界面,所述交互界面包括所述目标填写界面、所述类型选择界面和所述填写界面;
所述API层提供有应用程序编程接口,用于根据目标注册中心的类型选择指令通过所述UI层提供目标填写界面且响应于填写完成获取所述目标注册中心对应的目标填写信息;
所述注册中心描述层用于通过统一调用入口对所述目标注册中心的功能信息进行描述得到对应的目标功能名称集;
所述注册管理层用于根据所述目标填写信息和所述目标功能名称集生成目标插件;
所述注册中心容器层用于为各注册中心提供软件打包和运行环境;
所述集中存储区域用于存储所述目标插件。
可选的,所述注册中心管理层还用于接收到所述目标注册中心的新增请求时通过所述UI层生成授权界面;
所述注册中心管理层还用于根据授权界面对所述新增请求进行状态检测;
所述注册中心管理层还用于状态检测通过时对所述目标注册中心进行权限判断;
所述注册中心管理层还用于所述授权界面完成授权认证时通过所述UI层提供所述类型选择界面。
另一方面,提供了一种注册中心纳管装置,所述装置适用于注册中心纳管系统,所述装置包括:
信息填写模块,用于根据目标注册中心的类型选择指令提供目标填写界面,所述类型选择指令由类型选择界面受到触发生成并指示所述目标注册中心对应的目标注册中心类型,所述类型选择界面提供有至少一种注册中心类型,不同注册中心类型设置有对应的填写界面;
信息获取模块,用于响应于填写完成,获取所述目标注册中心对应的目标填写信息;
功能描述模块,用于通过统一调用入口对所述目标注册中心的功能信息进行描述得到对应的目标功能名称集,各注册中心类型各自对应有功能名称总集,所述目标功能名称集为所述功能名称总集的子集,所述统一调用入口用于支持不同类型的注册中心进行功能描述;
插件生成模块,用于根据所述目标填写信息和所述目标功能名称集生成目标插件,并将所述目标插件加载到所述注册中心纳管系统的集中存储区域,所述目标插件用于对所述目标注册中心进行动态加载。
另一方面,提供了一种服务器,所述服务器包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的注册中心纳管方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上述方面所述的注册中心纳管方法。
另一方面,还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述方面所述的注册中心纳管方法。
本申请实施例提供的注册中心纳管方法至少包括如下技术效果。
本申请实施例提供一种注册中心纳管方法,能够纳管不同类型的注册中心,提供可视化的管理界面,支持快速修改注册中心信息,并能够自动同步注册中心数据,大大简化注册中心的管理和维护工作,提高系统的可靠性和稳定性,且统一了使用注册中心的入口,简化了对不同注册中心的维护和使用成本同时,该系统还需要根据不同注册中心的特点,提供相应的管理功能,以支持微服务架构的开发和部署。
在进一步的实施例中,能够自动检测并识别不同类型的注册中心。
在进一步的实施例中,实现统一的权限管理,注册中心信息较为敏感这里通过授权方式进行限制,限制哪些人可以查看哪些人可以编辑,对敏感信息进行安全防护。
在进一步的实施例中,对纳管的注册中心的操作可在系统统一操作,每个操作步骤通过注册中心管理层的审计日志进行记录,对注册中心服务的存活状态进行监控,确保当注册中心发生故障不可用时候,在系统可直观看到。
在进一步的实施例中,采用了将每种类型的注册中心和版本单独作为一个fat.jar形式,通过class loader动态加载,这样当我们在兼容新版本时候无需停机,对后续提供服务和能力提供了良好的体验。
在进一步的实施例中,采用通过API调用方式进行纳管,对原有注册中心无任何侵入和改动,应用也无需改造,大大提高了方案的可行性。
在进一步的实施例中,对锁纳管的注册中心进行状态监控,如有停机或者不工作则可及时发现。
在进一步的实施例中,基于SpringCloud,使用了在线页面化管理,无需业务改造的理念,可以提供更高可用性,可以让我们在使用不同类型注册中心的时候更加的直观更加的通用,无学习成本。
在进一步的实施例中,将不同类型和版本的注册中心能力封装成fat.jar,通过class loader在线动态加载该jar,从而支持对应注册中心和版本的能力。
附图说明
图1示出了本申请一示例性实施例提供的注册中心纳管系统的结构示意图;
图2示出了本申请一个示例性实施例提供的注册中心纳管方法的流程图;
图3示出了本申请另一个示例性实施例提供的注册中心纳管方法的流程图;
图4示出了本申请另一个示例性实施例提供的注册中心纳管方法的流程图;
图5示出了纳管服务系统基于不同目标文件类型的小程序界面示意图;
图6示出了本申请一个示例性实施例提供的注册中心纳管装置的结构框图;
图7示出了本申请一个示例性实施例提供的服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
为了方便理解,下面对本申请实施例中涉及的名词进行解释说明。
微服务:一种软件开发技术,面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言、工具对其进行构建。
注册中心:微服务架构中的核心组件之一,用于管理各个微服务的元数据信息、服务发现、负载均衡等。
nacos:阿里巴巴开源的一款服务发现、配置管理和服务治理平台。
eureka:Netflix开源的一款服务发现框架,用于实现服务注册和发现。
consul:HashiCorp开源的一款服务发现和配置管理工具,提供服务发现、健康检查、负载均衡等功能。
zookeeper:Apache开源的一款分布式协调服务,提供数据同步、服务发现和命名服务等功能。
API:应用程序接口,用于不同应用程序之间的通信和交互。
可视化管理界面:一种直观的图形化界面,用于管理和监控系统的各个组件和状态。
数据同步:不同注册中心之间的数据保持一致,实现实时同步更新。
服务注册:将服务信息注册到注册中心,以便其他服务能够发现和调用该服务。
服务发现:根据服务名称、标签或其他元数据信息,从注册中心中查询符合条件的服务地址,以便进行调用。
健康检查:检查服务的可用性和健康状态,以便实现负载均衡和故障转移。
路由:根据不同的请求类型、请求参数或其他条件,将请求路由到不同的服务实例上,以实现灵活的请求处理。
Java ClassLoader:Java ClassLoader是Java虚拟机(JVM)的一部分,负责将字节码加载到JVM中,并生成可执行的Java程序。
注册中心接口:注册中心接口是注册中心定义的API,用于提供服务注册、发现、心跳、负载均衡等功能,开发者可以使用这些接口来调用注册中心提供的服务。
服务心跳检测:服务心跳检测是指服务实例定期向注册中心发送心跳消息,以保证服务实例的可用性,同时也可以用于判断服务实例是否异常下线。
微服务架构:微服务架构是一种将应用程序划分为一系列较小、独立的服务单元的架构,每个服务单元都可以独立部署和扩展,以提高应用程序的可靠性和可扩展性。
请参考图1,其示出了一种注册中心纳管系统的结构示意图。
系统包括UI层10、API层20、注册中心描述层30、注册中心管理层40、注册中心容器层50和集中存储区域60,以及Component base基础框架包70。
用户界面(User Interface Layer,UI)层10,用于提供用户界面,使用户能够直观地与系统进行交互。在本申请实施例中,UI层的功能包括显示目标填写界面、类型选择界面、授权界面等,以及接收用户输入和反馈系统状态。
在一个示例中,如图1所示,UI层10展示有nacos1.4、nacos2.0、consul1.8、eureka等,为现有的常用注册中心名称以及对应版本,仅为示例说明。
应用程序编程接口(Application Programming Interface,API)层20,用于提供应用程序编程接口,使得其他系统或应用能够通过编程方式与注册中心纳管系统进行交互。在本申请实施例中,API层的功能包括处理请求、调用相关功能,并提供数据传输的接口。
在一个示例中,如图1所示,API层20示意有组件管理、功能调用、组件描述和功能获取,可以利用应用程序编程接口实现对各个注册中心的上述功能。
组件管理:API层通过组件管理功能允许用户对不同类型的注册中心进行管理,包括注册新的中心、修改已有中心的配置信息等。当用户需要添加新的注册中心或更新已有注册中心的信息时,可以通过调用API层的组件管理功能完成这些操作。这可能涉及到填写相关信息、选择注册中心的类型等。
功能调用:API层提供功能调用接口,允许用户通过编程方式调用注册中心的各种功能,例如服务注册、服务发现、健康检查等。开发者可以使用API层的功能调用接口,通过编程方式调用注册中心提供的功能。这使得系统能够自动执行注册中心的各项操作,而无需手动介入。
组件描述:API层通过组件描述功能允许用户获取有关注册中心的详细信息,包括支持的功能、接口等。当用户需要了解某个注册中心的详细信息时,可以通过API层的组件描述功能获取这些信息。这可能包括了解注册中心所支持的功能列表、相关接口的描述等。
功能获取:API层提供功能获取接口,用于获取目标注册中心支持的功能集,以便用户能够了解并合理调用这些功能。开发者可以通过API层的功能获取接口,获取目标注册中心支持的功能集。这使得系统能够在运行时动态了解注册中心的能力,而不是硬编码依赖特定功能。
总体而言,API层通过这些功能接口为注册中心纳管系统提供了灵活性和可编程性,使得用户和开发者能够通过编程方式管理、调用和了解注册中心的各项功能。这有助于实现系统的自动化管理和集成,提高整个注册中心纳管系统的可扩展性。
注册中心描述层30,用于通过统一调用入口对目标注册中心的功能信息进行描述,在本申请实施例中包括了对注册中心支持的各种功能的定义和描述,以便进行后续的纳管。
在一个示例中,如图1所示,注册中心描述层30示意有组件描述、接口描述和请求描述。
组件描述:组件描述主要包括有关注册中心类型的信息,如支持的功能、特有的属性、以及与其他注册中心的差异等。当注册中心纳管系统需要了解某个注册中心类型的详细信息时,通过调用注册中心描述层的组件描述接口,可以获取有关该类型注册中心的详细描述信息。这有助于系统动态适应不同类型的注册中心。
接口描述:接口描述包括注册中心提供的各种API、功能接口的详细说明,包括输入参数、输出参数、调用方式、返回值等信息。开发者或系统管理人员可以通过调用注册中心描述层的接口描述接口,获取目标注册中心支持的各种功能的详细说明。这有助于系统能够根据接口规范进行编程、调用,并确保与注册中心的交互符合预期。
请求描述:请求描述包括了解注册中心对于新增请求的要求,例如所需的参数、格式、认证信息等。当系统收到来自用户或其他系统的新增请求时,可以通过调用注册中心描述层的请求描述接口,获取目标注册中心对于新增请求的要求。这有助于系统生成合适的填写界面,确保用户提供的信息符合注册中心的规范。
总体而言,注册中心描述层通过提供组件描述、接口描述和请求描述的功能,为注册中心纳管系统提供了更加详细和灵活的信息,使得系统能够动态适应不同类型的注册中心,支持不同类型注册中心的管理和操作,提高系统的可扩展性和适应性。
注册中心管理层40,用于负责管理注册中心的整体流程,包括处理新增请求、进行权限判断、状态检测等。在本申请实施例中,管理层还涉及对插件的生成和加载,以及对注册中心进行授权认证。
在一个示例中,如图1所示,注册中心管理层40示意有审计、日志、监控等功能。
审计:审计功能用于记录系统中的关键操作和事件,以便进行追踪、分析和安全审查。审计日志可以包括用户的操作、系统状态变更、新增请求处理等信息。当用户或系统进行重要的操作时,注册中心管理层通过审计功能记录相关信息,例如谁进行了什么操作、何时进行的等。审计日志有助于追踪系统行为,排查问题,并提高系统的可追溯性。
日志:日志功能用于记录系统运行时产生的详细信息,包括错误信息、警告、调试信息等。日志记录对于排查系统问题、性能优化和故障排除至关重要。注册中心管理层通过日志功能记录系统的运行状态、异常情况和其他重要事件。系统管理员可以查看日志,以便及时发现和解决问题,提高系统的稳定性和可维护性。
监控:监控功能用于实时追踪系统的运行状态,包括各个组件的性能指标、资源利用率、服务响应时间等。监控信息对于实时调整系统配置、预测问题发生、优化性能等至关重要。注册中心管理层通过监控功能实时追踪注册中心纳管系统的运行状态,包括各注册中心的健康状况、新增请求的处理情况等。监控信息有助于及时发现潜在问题,进行系统优化和调整。
授权认证:授权认证功能用于验证用户身份,并确定其对系统资源和功能的访问权限。只有经过授权的用户才能执行敏感操作,确保系统的安全性和隐私保护。当系统接收到新增请求时,注册中心管理层通过授权认证功能判断请求的发起者是否有足够的权限执行相关操作。授权认证有助于防止未经授权的访问和操作,提高系统的安全性。
总体而言,注册中心管理层通过审计、日志、监控和授权认证等功能,实现对注册中心纳管系统的全面管理和监控,确保系统的安全性、可追溯性、可维护性和稳定性。这些功能共同促使注册中心纳管系统在面对各种场景和操作时能够高效、安全地运行。
进一步的,注册中心管理层40还用于接收到目标注册中心的新增请求时通过UI层生成授权界面,还用于根据授权界面对新增请求进行状态检测,还用于状态检测通过时对目标注册中心进行权限判断,还用于授权界面完成授权认证时通过UI层提供类型选择界面。
注册中心容器层50,用于为各注册中心提供软件打包和运行环境,在本申请实施例中包括对注册中心插件的隔离、容器化等操作,确保各注册中心之间的独立性和稳定性。
在一个示例中,如图1所示,注册中心容器层50示意有注册中心容器1、注册中心容器2和注册中心容器3,分别用于nacos1.4、consul1.8和eureka各自插件的隔离、容器化等操作,确保各注册中心之间的独立性和稳定性。
集中存储区域60,用于存储目标插件,这些插件用于对目标注册中心进行动态加载。在本申请实施例中,集中存储区域可以是一个集中的数据库或文件系统,方便管理和维护。
在一个示例中,如图1所示,集中存储区域60分别对应注册中心容器设置有nacos1.4对应的存储区域nacos1.4(fat jar)、consul1.8对应的存储区域consul1.8 (fatjar)和eureka对应的存储区域eureka (fat jar)。
Component base基础框架包70,是组件服务的基础框架包。包含了系统中常用的基础设施组件,如数据库访问、缓存管理、线程池等,以提供通用的服务和资源。具体的Component base基础框架包的作用和功能可能根据系统的设计和实现而有所不同。在注册中心纳管系统中,为整个系统提供一些通用的工具、服务和基础设施,以促进系统的稳定性、可扩展性和可维护性。
需要说明的是,具体的功能还取决于系统的设计和实现细节,这些层次之间具有交互和依赖关系。在本申请实施例中,注册中心纳管系统用于简化注册中心的管理过程,提高灵活性和可扩展性,使得用户能够方便地纳管不同类型的注册中心。
请参考图2,其示出了本申请一个示例性实施例示出的注册中心纳管方法的流程图。该方法适用于图1所示的注册中心纳管系统,该方法包括:
步骤201,根据目标注册中心的类型选择指令提供目标填写界面。
类型选择指令由类型选择界面受到触发生成并指示目标注册中心对应的目标注册中心类型,类型选择界面提供有至少一种注册中心类型,不同注册中心类型设置有对应的填写界面。
在一种可能的实施方式中,使用前端框架,例如React、Angular或Vue.js,来提供组件化、模块化的开发方式,有助于构建复杂的用户界面,前端可以是UI层或API层来实现。
进一步的,设计目标填写界面,包括所需的输入字段、选择框、按钮等元素。确保界面简洁、直观,能够让填写端理解后填写所需信息。
进一步的,根据目标注册中心的类型选择指令,动态生成相应的填写表单。每种注册中心类型可能需要不同的配置信息,因此表单的生成应该根据类型进行灵活调整,最终将填写的信息发送到后端层进行处理,后端层可以是API层或注册中心管理层来执行该处理。
此外,为了确保信息的有效性,还可以提供实时的反馈机制,告知填写的信息是否有效,是否符合目标注册中心的要求。这可以通过前端验证、后端验证或组合验证来实现。
进一步的,还可以在前端进行用户权限的控制,确保只有授权端能够访问和操作填写界面。
需要说明的是,对于已公知的注册中心,由于该类注册中心的配置信息和相应数据包已公开,步骤201和步骤202可以实现自动获取,即自动识别注册中心的类型以及需要的填写信息。
步骤202,响应于填写完成,获取目标注册中心对应的目标填写信息。
在一种可能的实施方式中,使用前端框架的状态管理机制,将填写界面输入的信息保存在前端状态中,填写完成后,通过提交按钮触发提交事件,在提交事件中对输入的数据进行验证,确保数据的格式和完整性,可以使用框架提供的表单验证机制或自定义验证函数。
格式化验证通过的数据,准备发送给后端层,如可以将数据格式化为JSON格式等。进一步使用前端框架提供的AJAX请求、Fetch API等机制,将格式化后的数据发送给后端。
步骤203,通过统一调用入口对目标注册中心的功能信息进行描述得到对应的目标功能名称集。
各注册中心类型各自对应有功能名称总集,目标功能名称集为功能名称总集的子集,统一调用入口用于支持不同类型的注册中心进行功能描述。
该步骤使得不同类型的注册中心能够注册其支持的功能,并能够根据请求生成对应的功能名称集。实现该步骤的关键是设计一种机制,使得不同类型的注册中心能够注册其支持的功能,并能够根据请求生成对应的功能名称集。
在一种可能的实施方式中,提供注册中心注册功能,每个注册中心类型在初始化时向系统注册其支持的功能,或者通过系统自动抓取功能支持信息。进一步的,设计一个统一的调用入口,接收目标注册中心的类型和请求方法,根据注册的功能信息生成目标功能名称集,UI层通过 HTTP 请求调用统一的功能描述接口,传递目标注册中心的类型,根据注册中心描述层返回的目标功能名称集,前端的UI层可以进行界面展示或其他操作,以反映目标注册中心支持的功能。
在上述实施过程中,通过注册机制了解每种注册中心类型支持的功能,UI层通过调用统一的功能描述接口获取目标功能名称集。这样,即使注册中心类型和支持的功能发生变化,系统也可以动态适应。
步骤204,根据目标填写信息和目标功能名称集生成目标插件,并将目标插件加载到注册中心纳管系统的集中存储区域。
目标插件用于对目标注册中心进行动态加载。
在相关技术中,根据背景技术进一步了解到,在实际应用中,通常需要同时使用多个不同类型的注册中心,这就导致了不同注册中心之间接口不一致的问题。同时,注册中心的部署和管理也比较繁琐,需要手动添加、修改、删除注册中心的信息,并且需要保证注册中心之间的数据一致性和可靠性,这对于运维人员来说也是一项非常繁重的工作。
综上所述,为了解决这些问题,本申请实施例提供一种注册中心纳管方法,能够自动检测并识别不同类型的注册中心,提供可视化的管理界面,支持快速修改注册中心信息,并能够自动同步注册中心数据,大大简化注册中心的管理和维护工作,提高系统的可靠性和稳定性。同时,该系统还需要根据不同注册中心的特点,提供相应的管理功能,以支持微服务架构的开发和部署。
请参考图3,其示出了本申请一个示例性实施例示出的注册中心纳管方法的流程图。该方法适用于图1所示的注册中心纳管系统,该方法包括:
步骤301,根据历史注册中心确定出至少一种注册中心类型。
在一种可能的实施方式中,获取历史注册中心的配置信息,根据配置信息是否统一确定出至少一种注册中心类型,不同注册中心类型各自有对应的统一配置信息。
步骤302,生成各注册中心类型各自对应的填写界面。
在一种可能的实施方式中,获取各注册中心类型各自对应的统一配置信息,根据界面显示规则将各注册中心类型对应的统一配置信息进行显示,生成各注册中心类型对应的填写界面。
通过步骤301和步骤302实现对注册中心进行分类,在相同分类下,各个不同的注册中心实现功能和行为上基本一致。如:服务发现,consul,euraka,nacos、zookeeper等,都有获取服务列表,获取服务实例,获取健康情况等相同的功能。
步骤303,响应于接收到目标注册中心的新增请求,生成授权界面。
步骤304,响应于授权界面完成授权认证,提供目标填写界面。
除了提供如nacos、eureka、consul、zookeeper注册中心的统一管理界面,使得使用和维护变得更加轻松,还通过步骤303和步骤304实现统一的权限管理,注册中心信息较为敏感这里通过授权方式进行限制,限制哪些人可以查看哪些人可以编辑,对敏感信息进行安全防护。
步骤305,响应于填写完成,获取目标注册中心对应的目标填写信息。
相关描述请参考步骤202,本申请实施例在此不再赘述。
步骤306,通过统一调用入口对目标注册中心的功能信息进行描述得到对应的目标功能名称集。
由于每个注册中心的配置信息有所不同,如:consul( ),euraka(url,username,password),nacos(url,token或username,password),应对不同组件的配置信息进行描述,则可以通过统一调用入口对目标注册中心的功能信息进行描述得到对应的目标功能名称集。
在一个示例中,统一调用入口表示为POST: {base_url}/{rsId}/{method} -body{json}。
在一种可能的实施方式中,对注册中心的功能信息进行描述,包括功能列表、功能参数、功能出参,描述的标准为可由前台开发人员识别,相同类型、不同注册中心提供的功能名称一致。如:consul,euraka,nacos、zookeeper的获取服务列表的功能,都叫ListService。
对纳管的注册中心的操作可在系统统一操作,每个操作步骤通过注册中心管理层的审计日志进行记录,对注册中心服务的存活状态进行监控,确保当注册中心发生故障不可用时候,在系统可直观看到。
对应上述示例,统一调用入口表示为 POST: {base_url}/{rsId}/{method} -body {json},那么可以通过定义一个描述注册中心功能的接口,前端通过该接口发送请求并传递必要的参数,后端解析请求,根据传递的信息生成目标功能名称集。以下是一个代码实现方案。
后端实现:
定义功能描述接口: 创建接口接收前端发送的描述注册中心功能的请求。
// 后端 Express 框架示例
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const port = 3000;
app.use(bodyParser.json());
// 模拟存储功能描述的数据
const functionDescriptions = {
rs1: { // rs1 为注册中心的唯一标识
ListService: {
description: 'Get the list of services from the registry',
parameters: ['param1', 'param2'],
},
// ...other functions
},
// ...other registries
};
app.post('/:rsId/describe-functions', (req, res) => {
const { rsId } = req.params;
if (!functionDescriptions[rsId]) {
res.status(404).json({ error: 'Registry not found' });
return;
}
const { method } = req.body;
if (!method) {
res.status(400).json({ error: 'Method not provided in the requestbody' });
return;
}
const functionDescription = functionDescriptions[rsId][method];
if (!functionDescription) {
res.status(404).json({ error: 'Function not found' });
return;
}
res.json(functionDescription);
});
app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});
前端实现:
使用Fetch API或其他HTTP请求库: 在前端使用Fetch API或其他适合的HTTP请求库,向后端的 /rs1/describe-functions 端点发送请求。
const fetchRegistryFunctions = async (registryId, method) => {
try {
const response = await fetch(`/api/${registryId}/describe-functions`,{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ method }),
});
if (!response.ok) {
throw new Error('Failed to fetch registry functions');
}
const functionDescription = await response.json();
console.log('Registry function description:', functionDescription);
} catch (error) {
console.error('Error fetching registry functions:', error.message);
}
};
// 调用 fetchRegistryFunctions 函数
fetchRegistryFunctions('rs1', 'ListService');
处理响应:前端获取到后端返回的功能描述信息后,可以在界面上展示或者进行其他操作,具体操作会根据项目需求而有所不同。
上述示例允许前端通过 POST 请求向 /rs1/describe-functions 端点发送请求,传递注册中心标识(rsId)和功能名称(method),后端根据这些信息返回对应的功能描述。
步骤307,根据目标填写信息和目标功能名称集生成目标插件,并将目标插件加载到注册中心纳管系统的集中存储区域。
相关描述请参考步骤204,本申请实施例在此不再赘述。
本申请实施例中,能够自动检测并识别不同类型的注册中心,提供可视化的管理界面,支持快速添加、删除、修改注册中心信息,并能够自动同步注册中心数据。这样可以大大简化注册中心的管理和维护工作,提高系统的可靠性和稳定性。同时,该系统还需要根据不同注册中心的特点,提供相应的管理功能,如服务注册、发现、健康检查、路由等,以支持微服务架构的开发和部署。
此外,还实现统一的权限管理,注册中心信息较为敏感这里通过授权方式进行限制,限制哪些人可以查看哪些人可以编辑,对敏感信息进行安全防护。
此外,对纳管的注册中心的操作可在系统统一操作,每个操作步骤通过注册中心管理层的审计日志进行记录,对注册中心服务的存活状态进行监控,确保当注册中心发生故障不可用时候,在系统可直观看到。
此外,采用了将每种类型的注册中心和版本单独作为一个fat.jar形式,通过class loader动态加载,这样当我们在兼容新版本时候无需停机,对后续提供服务和能力提供了良好的体验。
此外,采用通过API调用方式进行纳管,对原有注册中心无任何侵入和改动,应用也无需改造,大大提高了方案的可行性。
此外,对纳管的注册中心进行状态监控,如有停机或者不工作则可及时发现。
此外,基于SpringCloud,使用了在线页面化管理,无需业务改造的理念,可以提供更高可用性,可以让我们在使用不同类型注册中心的时候更加的直观更加的通用,无学习成本。
此外,将不同类型和版本的注册中心能力封装成fat.jar,通过class loader在线动态加载该jar,从而支持对应注册中心和版本的能力。
此外,图1所示的注册中心纳管系统除了可以实现上述方法,还可以实现负载均衡策略下发,请参考图4所示出的负载均衡策略下发过程示意图。
步骤一,通过页面纳管注册中心。如图4所示,UI层提供UI管理平台。
步骤二,选择注册中心类型(如consu、nacos、eureka、zookeeper),对应的,各个注册中心类型会有自己的配置信息,如注册中心地址、注册中心用户名、注册中心密码等等,或当存在新类型注册中心时,可根据步骤201至步骤202方式获取。步骤二通过纳管注册中心实现。
步骤三,根据注册中心类型填写相关注册中心信息如URL注册中心地址、注册中心用户名、注册中心密码、namespace等。
步骤四,提交信息,将对应注册中心插件的fast.jar动态加载到内存中。
此外,图1所示的注册中心纳管系统除了可以实现上述方法,还可以实现纳管系统内服务的交互,请参考图5所示出的纳管系统内服务的交互示意图。
步骤一,通过web运行注册中心纳管系统,web页面进行录入。
步骤二,web页面通过route server(路由服务器)进行路由。
步骤三,component-center(元件中心)服务根据提交的信息进行存储,具体的,存在新增注册中心,在完成对新增注册中心的纳管之后将填写的信息进行存储,然后加载对应组件的fast.jar到内存中。
步骤四,task服务根据注册中心信息进行状态检测,进行记录。
步骤五,通过web页面进行访问时broker根据用户数据权限进行数据隔离。
请参考图6,其示出了本申请一个实施例提供的注册中心纳管装置的结构框图。该装置可以通过软件、硬件或者两者的结合实现成为计算机设备的全部或一部分。所述装置用于注册中心纳管系统,所述装置包括:
信息填写模块601,用于根据目标注册中心的类型选择指令提供目标填写界面,所述类型选择指令由类型选择界面受到触发生成并指示所述目标注册中心对应的目标注册中心类型,所述类型选择界面提供有至少一种注册中心类型,不同注册中心类型设置有对应的填写界面;
信息获取模块602,用于响应于填写完成,获取所述目标注册中心对应的目标填写信息;
功能描述模块603,用于通过统一调用入口对所述目标注册中心的功能信息进行描述得到对应的目标功能名称集,各注册中心类型各自对应有功能名称总集,所述目标功能名称集为所述功能名称总集的子集,所述统一调用入口用于支持不同类型的注册中心进行功能描述;
插件生成模块604,用于根据所述目标填写信息和所述目标功能名称集生成目标插件,并将所述目标插件加载到所述注册中心纳管系统的集中存储区域,所述目标插件用于对所述目标注册中心进行动态加载。
可选的,所述装置还包括:
第一处理模块,用于根据历史注册中心确定出至少一种注册中心类型;
第二处理模块,用于生成各注册中心类型各自对应的填写界面。
可选的,所述第一处理模块,还用于获取所述历史注册中心的配置信息;
根据配置信息是否统一确定出至少一种注册中心类型,不同注册中心类型各自有对应的统一配置信息。
可选的,所述第二处理模块还用于获取各注册中心类型各自对应的统一配置信息;
根据界面显示规则将各注册中心类型对应的统一配置信息进行显示,生成各注册中心类型对应的填写界面。
可选的,所述装置还包括:
响应于接收到所述目标注册中心的新增请求,生成授权界面;
所述信息填写模块601,包括:
第一填写单元,用于响应于所述授权界面完成授权认证,提供所述目标填写界面。
可选的,所述统一调用入口表示为POST: {base_url}/{rsId}/{method} -body{json}。
请参考图7,其示出了本申请一个实施例提供的服务器的结构示意图。该服务器用于实施上述实施例提供的注册中心纳管方法。具体来讲:
所述服务器700包括中央处理单元(CPU)701、包括随机存取存储器(RAM)702和只读存储器(ROM)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。所述服务器700还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)706,和用于存储操作系统713、应用程序714和其他程序模块715的大容量存储设备707。
所述基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中所述显示器708和输入设备709都通过连接到系统总线705的输入输出控制器710连接到中央处理单元701。所述基本输入/输出系统706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。所述大容量存储设备707及其相关联的计算机可读介质为服务器700提供非易失性存储。也就是说,所述大容量存储设备707可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。
根据本申请的各种实施例,所述服务器700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器700可以通过连接在所述系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统。
所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集经配置以由一个或者一个以上处理器执行,以实现上述注册中心纳管方法中各个步骤的功能。
本申请实施例还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述各个实施例提供的注册中心纳管方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM, Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种注册中心纳管方法,其特征在于,所述方法适用于注册中心纳管系统,所述方法包括:
根据目标注册中心的类型选择指令提供目标填写界面,所述类型选择指令由类型选择界面受到触发生成并指示所述目标注册中心对应的目标注册中心类型,所述类型选择界面提供有至少一种注册中心类型,不同注册中心类型设置有对应的填写界面;其中,
所述目标填写界面通过用户界面UI层或应用程序编程接口API层构建;
所述目标填写界面包括输入字段、选择框和/或按钮元素;
所述方法进一步包括:根据目标注册中心的类型选择指令,动态生成目标填写界面,每种注册中心类型设置不同的目标填写界面,所述目标填写界面的配置信息发送到应用程序编程接口API层或注册中心管理层处理;
响应于填写完成,获取所述目标注册中心对应的目标填写信息;
通过统一调用入口对所述目标注册中心的功能信息进行描述得到对应的目标功能名称集,各注册中心类型各自对应有功能名称总集,所述目标功能名称集为所述功能名称总集的子集,所述统一调用入口用于支持不同类型的注册中心进行功能描述;
根据所述目标填写信息和所述目标功能名称集生成目标插件,并将所述目标插件加载到所述注册中心纳管系统的集中存储区域,所述目标插件用于对所述目标注册中心进行动态加载,包括:
将每种类型的注册中心和版本单独作为一个fat.jar形式,通过class loader动态加载。
2.根据权利要求1所述的注册中心纳管方法,其特征在于,所述方法还包括:
根据历史注册中心确定出至少一种注册中心类型;
生成各注册中心类型各自对应的填写界面。
3.根据权利要求2所述的注册中心纳管方法,其特征在于,所述根据历史注册中心确定出至少一种注册中心类型,包括:
获取所述历史注册中心的配置信息;
根据配置信息是否统一确定出至少一种注册中心类型,不同注册中心类型各自有对应的统一配置信息。
4.根据权利要求2所述的注册中心纳管方法,其特征在于,所述生成各注册中心类型各自对应的填写界面,包括:
获取各注册中心类型各自对应的统一配置信息;
根据界面显示规则将各注册中心类型对应的统一配置信息进行显示,生成各注册中心类型对应的填写界面。
5.根据权利要求1至4任一所述的注册中心纳管方法,其特征在于,所述方法还包括:
响应于接收到所述目标注册中心的新增请求,生成授权界面;
所述根据目标注册中心的类型选择指令提供目标填写界面,包括:
响应于所述授权界面完成授权认证,提供所述目标填写界面。
6.根据权利要求1所述的注册中心纳管方法,其特征在于,所述统一调用入口表示为POST:{base_url}/{rsId}/{method}-body{json}。
7.一种注册中心纳管系统,其特征在于,所述注册中心纳管系统应用有如权利要求1至6任一所述的注册中心纳管方法,所述系统包括UI层、API层、注册中心描述层、注册中心管理层、注册中心容器层和集中存储区域;
所述UI层用于界面展示并提供交互界面,所述交互界面包括所述目标填写界面、所述类型选择界面和所述填写界面;
所述API层提供有应用程序编程接口,用于根据目标注册中心的类型选择指令通过所述UI层提供目标填写界面且响应于填写完成获取所述目标注册中心对应的目标填写信息;
所述注册中心描述层用于通过统一调用入口对所述目标注册中心的功能信息进行描述得到对应的目标功能名称集;
所述注册中心管理层用于根据所述目标填写信息和所述目标功能名称集生成目标插件;
所述注册中心容器层用于为各注册中心提供软件打包和运行环境;
所述集中存储区域用于存储所述目标插件,所述目标插件用于对目标注册中心进行动态加载,包括:
将每种类型的注册中心和版本单独作为一个fat.jar形式,通过class loader动态加载。
8.根据权利要求7所述的一种注册中心纳管系统,其特征在于,
所述注册中心管理层还用于接收到所述目标注册中心的新增请求时通过所述UI层生成授权界面;
所述注册中心管理层还用于根据授权界面对所述新增请求进行状态检测;
所述注册中心管理层还用于状态检测通过时对所述目标注册中心进行权限判断;
所述注册中心管理层还用于所述授权界面完成授权认证时通过所述UI层提供所述类型选择界面。
9.一种注册中心纳管装置,其特征在于,所述装置适用于注册中心纳管系统,所述装置包括:
信息填写模块,用于根据目标注册中心的类型选择指令提供目标填写界面,所述类型选择指令由类型选择界面受到触发生成并指示所述目标注册中心对应的目标注册中心类型,所述类型选择界面提供有至少一种注册中心类型,不同注册中心类型设置有对应的填写界面;
其中,
所述目标填写界面通过用户界面UI层或应用程序编程接口API层构建;
所述目标填写界面包括输入字段、选择框和/或按钮元素;
所述装置根据目标注册中心的类型选择指令,动态生成目标填写界面,每种注册中心类型设置不同的目标填写界面,所述目标填写界面的配置信息发送到应用程序编程接口API层或注册中心管理层处理;
信息获取模块,用于响应于填写完成,获取所述目标注册中心对应的目标填写信息;
功能描述模块,用于通过统一调用入口对所述目标注册中心的功能信息进行描述得到对应的目标功能名称集,各注册中心类型各自对应有功能名称总集,所述目标功能名称集为所述功能名称总集的子集,所述统一调用入口用于支持不同类型的注册中心进行功能描述;
插件生成模块,用于根据所述目标填写信息和所述目标功能名称集生成目标插件,并将所述目标插件加载到所述注册中心纳管系统的集中存储区域,所述目标插件用于对所述目标注册中心进行动态加载,包括:
将每种类型的注册中心和版本单独作为一个fat.jar形式,通过class loader动态加载。
10.一种服务器,其特征在于,所述服务器包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如权利要求1至6任一所述的注册中心纳管方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410093535.1A CN117609973B (zh) | 2024-01-23 | 2024-01-23 | 一种注册中心纳管方法、系统、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410093535.1A CN117609973B (zh) | 2024-01-23 | 2024-01-23 | 一种注册中心纳管方法、系统、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117609973A CN117609973A (zh) | 2024-02-27 |
CN117609973B true CN117609973B (zh) | 2024-05-07 |
Family
ID=89958358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410093535.1A Active CN117609973B (zh) | 2024-01-23 | 2024-01-23 | 一种注册中心纳管方法、系统、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117609973B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3168289A1 (en) * | 2019-01-18 | 2020-07-23 | 10353744 Canada Ltd. | Method and system for monitoring microservices |
CN112564978A (zh) * | 2020-12-16 | 2021-03-26 | 中盈优创资讯科技有限公司 | 一种基于元数据注册的设备配置服务选择方法 |
CN112738060A (zh) * | 2020-12-24 | 2021-04-30 | 平安科技(深圳)有限公司 | 微服务数据的处理方法、装置、微服务处理平台及介质 |
CN115659935A (zh) * | 2022-10-19 | 2023-01-31 | 中国电信股份有限公司 | 文件生成方法、装置、存储介质以及电子设备 |
CN115695537A (zh) * | 2022-10-14 | 2023-02-03 | 上海道客网络科技有限公司 | 实现服务网格适配传统微服务注册中心的方法、系统和装置 |
CN116016667A (zh) * | 2023-01-04 | 2023-04-25 | 上海道客网络科技有限公司 | 一种云原生平台多种类型注册中心统一治理方法和系统 |
CN116155978A (zh) * | 2023-02-13 | 2023-05-23 | 京东科技信息技术有限公司 | 多注册中心适配方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060230380A1 (en) * | 2005-04-08 | 2006-10-12 | Robert Holmes | Rule-based system and method for registering domains |
-
2024
- 2024-01-23 CN CN202410093535.1A patent/CN117609973B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3168289A1 (en) * | 2019-01-18 | 2020-07-23 | 10353744 Canada Ltd. | Method and system for monitoring microservices |
CN112564978A (zh) * | 2020-12-16 | 2021-03-26 | 中盈优创资讯科技有限公司 | 一种基于元数据注册的设备配置服务选择方法 |
CN112738060A (zh) * | 2020-12-24 | 2021-04-30 | 平安科技(深圳)有限公司 | 微服务数据的处理方法、装置、微服务处理平台及介质 |
CN115695537A (zh) * | 2022-10-14 | 2023-02-03 | 上海道客网络科技有限公司 | 实现服务网格适配传统微服务注册中心的方法、系统和装置 |
CN115659935A (zh) * | 2022-10-19 | 2023-01-31 | 中国电信股份有限公司 | 文件生成方法、装置、存储介质以及电子设备 |
CN116016667A (zh) * | 2023-01-04 | 2023-04-25 | 上海道客网络科技有限公司 | 一种云原生平台多种类型注册中心统一治理方法和系统 |
CN116155978A (zh) * | 2023-02-13 | 2023-05-23 | 京东科技信息技术有限公司 | 多注册中心适配方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
朱智胜.《Spring Boot技术内幕》.2020,第222-224页. * |
Also Published As
Publication number | Publication date |
---|---|
CN117609973A (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11645309B2 (en) | Discovery of database and related services | |
US11347806B2 (en) | Discovery of containerized platform and orchestration services | |
US11431568B2 (en) | Discovery of software bus architectures | |
KR101891506B1 (ko) | 하나 이상의 클라우드 시스템 상에 애플리케이션들을 이식 가능하게 배치하기 위한 방법들 및 시스템들 | |
EP3149591B1 (en) | Tracking application deployment errors via cloud logs | |
CN100578455C (zh) | 提交给网格环境的网格作业使用前的资源功能性验证 | |
US20060282886A1 (en) | Service oriented security device management network | |
US11922155B2 (en) | Post-upgrade debugging in a remote network management platform | |
US11240304B2 (en) | Selective server-side execution of client-side scripts | |
US20220358188A1 (en) | Automatically detecting misuse of licensed software | |
CN115118705A (zh) | 一种基于微服务的工业边缘管控平台 | |
US20020178297A1 (en) | Service control manager tool execution | |
CN112714166B (zh) | 分布式存储系统的多集群管理方法及装置 | |
CN112799970A (zh) | 测试数据处理方法、装置、电子设备及介质 | |
CN117609973B (zh) | 一种注册中心纳管方法、系统、装置及服务器 | |
Schmieders et al. | Architectural runtime models for privacy checks of cloud applications | |
US11582345B2 (en) | Context data management interface for contact center | |
CN109995617A (zh) | 主机管理特性的自动化测试方法、装置、设备及存储介质 | |
US10917312B2 (en) | Graphical user interface for validation of credentials and scheduled discovery of remote networks | |
US11283681B2 (en) | Enhancing discovery patterns with shell command exit status | |
US20230419806A1 (en) | Method and system for device monitoring and diagnostics | |
EP4307636A1 (en) | Rapid error detection through command validation | |
Kurniawan et al. | Monitoring Azure Functions with Application Insights | |
US10733666B1 (en) | System and method for defining a privacy zone within a network | |
CN115185542A (zh) | 容器化部署方法、装置、系统、电子设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |