CN114500027B - 基于Nacos的服务注册和服务调用的方法和系统 - Google Patents

基于Nacos的服务注册和服务调用的方法和系统 Download PDF

Info

Publication number
CN114500027B
CN114500027B CN202210070270.4A CN202210070270A CN114500027B CN 114500027 B CN114500027 B CN 114500027B CN 202210070270 A CN202210070270 A CN 202210070270A CN 114500027 B CN114500027 B CN 114500027B
Authority
CN
China
Prior art keywords
service
domain name
nacos
registration
service registration
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
Application number
CN202210070270.4A
Other languages
English (en)
Other versions
CN114500027A (zh
Inventor
陈海涛
杨秦敏
宁海元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Daishu Technology Co ltd
Original Assignee
Hangzhou Daishu Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Daishu Technology Co ltd filed Critical Hangzhou Daishu Technology Co ltd
Priority to CN202210070270.4A priority Critical patent/CN114500027B/zh
Publication of CN114500027A publication Critical patent/CN114500027A/zh
Application granted granted Critical
Publication of CN114500027B publication Critical patent/CN114500027B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种基于Nacos的服务注册和服务调用的方法和系统,其中所述方法包括以下步骤:获取服务注册的配置服务信息,其中,配置服务信息包括环境隔离标识符;根据配置服务信息得到服务注册请求信息;根据服务注册请求信息请求Nacos进行服务注册并得到服务注册列表;根据环境隔离标识符定义服务调用域名;根据服务调用域名请求Nacos调用服务注册列表中的服务实例。本发明既不需要将项目改造成微服务,也不需要引入微服务相关依赖,从而能够提高服务注册的便捷性,并且通过引入环境隔离标识符,能够实现环境隔离功能,从而能够将不同的配置请求配置到对应的服务实例上,此外还能够实现对应服务实例的准确调用。

Description

基于Nacos的服务注册和服务调用的方法和系统
技术领域
本发明涉及服务注册调用技术领域,具体涉及一种基于Nacos的服务注册和服务调用的方法和一种基于Nacos的服务注册和服务调用的系统。
背景技术
当前应用服务注册的过程中,虽然也采用Nacos(服务注册中心),但是需要将对应应用改造为微服务,引入相关微服务依赖,相关改造成本过大,并且,当前应用服务注册过程中不支持环境隔离相关功能,既当某个应用部署多个实例,无法通过不同的请求配置请求到对应的实例上。
发明内容
本发明为解决上述技术问题,提供了一种基于Nacos的服务注册和服务调用的方法,既不需要将项目改造成微服务,也不需要引入微服务相关依赖,从而能够提高服务注册的便捷性,并且通过引入环境隔离标识符,能够实现环境隔离功能,从而能够将不同的配置请求配置到对应的服务实例上,此外还能够实现对应服务实例的准确调用。
本发明采用的技术方案如下:
一种基于Nacos的服务注册和服务调用的方法,包括以下步骤:获取服务注册的配置服务信息,其中,所述配置服务信息包括环境隔离标识符;根据所述配置服务信息得到服务注册请求信息;根据所述服务注册请求信息请求Nacos进行服务注册并得到服务注册列表;根据所述环境隔离标识符定义服务调用域名;根据所述服务调用域名请求所述Nacos调用所述服务注册列表中的服务实例。
根据本发明的一个实施例,所述配置服务信息还包括IP(Internet ProtocolAddress,互联网协议地址)、Port(端口)和Service Name(服务名称)。
根据本发明的一个实施例,所述根据所述配置服务信息得到服务注册请求信息,具体包括以下步骤:对所述IP、所述Port、所述Service Name和所述环境隔离标识符进行封装以得到所述服务注册请求信息。
根据本发明的一个实施例,所述根据所述环境隔离标识符定义服务调用域名,具体包括以下步骤:获取服务调用请求初始域名,其中,所述服务调用请求初始域名为三级域名;解析分割所述服务调用请求初始域名;在解析分割后的所述服务调用请求初始域名中配置所述环境隔离标识符,以得到所述服务调用域名。
根据本发明的一个实施例,所述根据所述服务调用域名请求所述Nacos调用所述服务注册列表中的服务实例,具体包括以下步骤:解析所述服务调用域名以提取所述环境隔离标识符;根据所述环境隔离标识符请求所述Nacos调用所述服务注册列表中的服务实例。
根据本发明的一个实施例,所述根据所述环境隔离标识符请求所述Nacos调用所述服务注册列表中的服务实例,具体包括以下步骤:比较所述环境隔离标识符与所述服务注册列表中的服务实例的环境隔离标识符是否一致;若是,则请求调用相应的服务实例;若否,则请求调用所述服务注册列表中的任一服务实例。
一种基于Nacos的服务注册和服务调用的系统,包括:获取模块,所述获取模块用于获取服务注册的配置服务信息,其中,所述配置服务信息包括环境隔离标识符;处理模块,所述处理模块用于根据所述配置服务信息得到服务注册请求信息;服务注册模块,所述服务注册模块用于根据所述服务注册请求信息请求Nacos进行服务注册并得到服务注册列表;域名定义模块,所述域名定义模块用于根据所述环境隔离标识符定义服务调用域名;服务调用模块,所述服务调用模块用于根据所述服务调用域名请求所述Nacos调用所述服务注册列表中的服务实例。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的基于Nacos的服务注册和服务调用的方法。
一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的基于Nacos的服务注册和服务调用的方法。
本发明的有益效果如下:
1)本发明能够根据配置服务信息自动进行服务注册,既不需要将项目改造成微服务,也不需要引入微服务相关依赖,从而能够提高服务注册的便捷性;
2)本发明通过引入环境隔离标识符,能够实现环境隔离功能,从而能够将不同的配置请求配置到对应的服务实例上,并能够实现对应服务实例的准确调用。
附图说明
图1为本发明实施例的基于Nacos的服务注册和服务调用的方法的流程图;
图2为本发明一个具体实施例的架构的服务注册和服务调用过程示意图;
图3为本发明实施例的基于Nacos的服务注册和服务调用的系统的方框示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例的基于Nacos的服务注册和服务调用的方法的流程图。
如图1所示,本发明实施例的基于Nacos的服务注册和服务调用的方法,包括以下步骤:
S1,获取服务注册的配置服务信息,其中,配置服务信息包括环境隔离标识符。
具体地,可通过注册页面输入配置服务信息,例如IP、Port、Service Name和Routing-Tag,即环境隔离标识符,从而获取服务注册的配置服务信息。
S2,根据配置服务信息得到服务注册请求信息。
具体地,可对IP、Port、Service Name和Routing-Tag,即环境隔离标识符进行封装以得到服务注册请求信息。其中,服务注册请求信息可为实例对象,即可将IP、Port、Service Name和Routing-Tag,即环境隔离标识符具体封装为实例对象。
S3,根据服务注册请求信息请求Nacos进行服务注册并得到服务注册列表。
具体地,可根据服务注册请求信息,例如实例对象请求Nacos进行服务注册,并得到相应的服务注册列表。此外,在完成服务注册后还可将服务注册列表展示在Nacos控制台。
S4,根据环境隔离标识符定义服务调用域名。
具体地,可先获取服务调用请求初始域名,其中,服务调用请求初始域名为三级域名,然后可解析分割服务调用请求初始域名,最后可在解析分割后的服务调用请求初始域名中配置环境隔离标识符,以得到服务调用域名。
举例而言,如果服务调用请求初始域名为http://gateway.dtstack.com三级域名,那么可先解析该http://gateway.dtstack.com三级域名,并可通过“.”号进行分割,然后可将Routing-Tag,即环境隔离标识符配置到proxy_set_header属性中,也就是将Routing-Tag,即环境隔离标识符放入该http://gateway.dtstack.com三级域名的RequestHeader(请求头)中,以最终得到http://Routing-Tag.gateway.dtstack.com服务调用域名。
S5,根据服务调用域名请求Nacos调用服务注册列表中的服务实例。
具体地,可先解析服务调用域名以提取环境隔离标识符,然后可根据环境隔离标识符请求Nacos调用服务注册列表中的服务实例。
更具体地,可比较环境隔离标识符与服务注册列表中的服务实例的环境隔离标识符是否一致,若是,则请求调用相应的服务实例,若否,则请求调用服务注册列表中的任一服务实例。
举例而言,可解析http://Routing-Tag.gateway.dtstack.com服务调用域名,以从http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中提取Routing-Tag,即环境隔离标识符,以通过该Routing-Tag,即环境隔离标识符请求调用服务注册列表中的服务实例,即实例对象。
其中,需要说明的是,上述封装实例对象的过程中已将Routing-Tag,即环境隔离标识符存入其中,具体可存入实例对象的MetaData属性中,因此,可通过比较从http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中提取Routing-Tag,即环境隔离标识符与服务注册列表中的服务实例,即实例对象中的环境隔离标识符是否一致来判断是否调用服务注册列表中的服务实例,即实例对象。
具体地,可遍历服务注册列表中所有的服务实例,即实例对象的Routing-Tag,即环境隔离标识符,并可将其与从http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中提取的Routing-Tag,即环境隔离标识符进行比较,若一致,则请求调用对应的服务实例,即实例对象,若服务注册列表中所有的服务实例,即实例对象的Routing-Tag均不与从http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中提取的Routing-Tag,即环境隔离标识符一致,则请求调用服务注册列表中的任一服务实例,即实例对象。
下面将以图2所示的具体实施例,即Nginx(反向代理web服务器)、Gateway(网关)和Nacos构成的架构为例,进一步阐述本发明的基于Nacos的服务注册和服务调用的方法的实施过程。
如图2所示,step1为服务注册过程,具体地,用户可先通过访问页面访问Nginx,然后可通过其中的注册页面输入配置服务信息至Gateway,Gateway可接收该配置服务信息并对其进行封装处理以得到服务注册请求信息,即实例对象,进而可根据得到的服务注册请求信息,即实例对象请求Nacos进行服务注册并得到服务注册列表,由此,可实现服务注册过程。
如图2所示,step2为服务调用过程,具体地,当需要服务调用服务注册列表中的服务实例时,用户可先采用服务调用请求初始域名,例如http://gateway.dtstack.com三级域名发出调用请求至Nginx,Nginx可通过lua脚本动态解析分割该http://gateway.dtstack.com三级域名,并可将Routing-Tag,即环境隔离标识符放入该http://gateway.dtstack.com三级域名的Request Header中,以最终得到http://Routing-Tag.gateway.dtstack.com服务调用域名。
进一步地,如图2所示,Nginx可通过反向代理,在http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中带上Routing-Tag,即环境隔离标识符向Gateway进行服务调用请求,Gateway可处理该服务调用请求,可解析http://Routing-Tag.gateway.dtstack.com服务调用域名,以从http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中提取Routing-Tag,即环境隔离标识符,以请求Nacos获取服务注册列表中的所有服务实例,即实例对象,进而可根据从http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中提取Routing-Tag,即环境隔离标识符路由对应的服务实例即实例对象。具体地,可遍历服务注册列表中所有的服务实例,即实例对象的Routing-Tag,即环境隔离标识符,并可将其与从http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中提取的Routing-Tag,即环境隔离标识符进行比较,若一致,则请求调用对应的服务实例,即实例对象,若不一致,则请求调用服务注册列表中的任一服务实例,即实例对象。
本发明的有益效果如下:
1)本发明能够根据配置服务信息自动进行服务注册,既不需要将项目改造成微服务,也不需要引入微服务相关依赖,从而能够提高服务注册的便捷性;
2)本发明通过引入环境隔离标识符,能够实现环境隔离功能,从而能够将不同的配置请求配置到对应的服务实例上,并能够实现对应服务实例的准确调用。
对应上述实施例的基于Nacos的服务注册和服务调用的方法,本发明还提出一种基于Nacos的服务注册和服务调用的系统。
如图3所示,本发明实施例的基于Nacos的服务注册和服务调用的系统包括获取模块10、处理模块20、服务注册模块30、域名定义模块40和服务调用模块50。其中,所述获取模块10用于获取服务注册的配置服务信息,其中,所述配置服务信息包括环境隔离标识符;所述处理模块20用于根据所述配置服务信息得到服务注册请求信息;所述服务注册模块30用于根据所述服务注册请求信息请求Nacos进行服务注册并得到服务注册列表;所述域名定义模块40用于根据所述环境隔离标识符定义服务调用域名;所述服务调用模块50用于根据所述服务调用域名请求所述Nacos调用所述服务注册列表中的服务实例。
在本发明的一个实施例中,获取模块10可通过注册页面输入配置服务信息,例如IP、Port、Service Name和Routing-Tag,即环境隔离标识符,从而获取服务注册的配置服务信息。
在本发明的一个实施例中,处理模块20可对IP、Port、Service Name和Routing-Tag,即环境隔离标识符进行封装以得到服务注册请求信息。其中,服务注册请求信息可为实例对象,即可将IP、Port、Service Name和Routing-Tag,即环境隔离标识符具体封装为实例对象。
在本发明的一个实施例中,服务注册模块30可根据服务注册请求信息,例如实例对象请求Nacos进行服务注册,并得到相应的服务注册列表。此外,在完成服务注册后还可将服务注册列表展示在Nacos控制台。
在本发明的一个实施例中,域名定义模块40可先获取服务调用请求初始域名,其中,服务调用请求初始域名为三级域名,然后可解析分割服务调用请求初始域名,最后可在解析分割后的服务调用请求初始域名中配置环境隔离标识符,以得到服务调用域名。
举例而言,如果服务调用请求初始域名为http://gateway.dtstack.com三级域名,那么可先解析该http://gateway.dtstack.com三级域名,并可通过“.”号进行分割,然后可将Routing-Tag,即环境隔离标识符配置到proxy_set_header属性中,也就是将Routing-Tag,即环境隔离标识符放入该http://gateway.dtstack.com三级域名的RequestHeader中,以最终得到http://Routing-Tag.gateway.dtstack.com服务调用域名。
在本发明的一个实施例中,服务调用模块50可先解析服务调用域名以提取环境隔离标识符,然后可根据环境隔离标识符请求Nacos调用服务注册列表中的服务实例。
更具体地,可比较环境隔离标识符与服务注册列表中的服务实例的环境隔离标识符是否一致,若是,则请求调用相应的服务实例,若否,则请求调用服务注册列表中的任一服务实例。
举例而言,可解析http://Routing-Tag.gateway.dtstack.com服务调用域名,以从http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中提取Routing-Tag,即环境隔离标识符,以通过该Routing-Tag,即环境隔离标识符请求调用服务注册列表中的服务实例,即实例对象。
其中,需要说明的是,上述封装实例对象的过程中已将Routing-Tag,即环境隔离标识符存入其中,具体可存入实例对象的MetaData属性中,因此,可通过比较从http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中提取Routing-Tag,即环境隔离标识符与服务注册列表中的服务实例,即实例对象中的环境隔离标识符是否一致来判断是否调用服务注册列表中的服务实例,即实例对象。
具体地,可遍历服务注册列表中所有的服务实例,即实例对象的Routing-Tag,即环境隔离标识符,并可将其与从http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中提取的Routing-Tag,即环境隔离标识符进行比较,若一致,则请求调用对应的服务实例,即实例对象,若服务注册列表中所有的服务实例,即实例对象的Routing-Tag均不与从http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中提取的Routing-Tag,即环境隔离标识符一致,则请求调用服务注册列表中的任一服务实例,即实例对象。
下面将以图2所示的具体实施例,即Nginx(反向代理web服务器)、Gateway(网关)和Nacos构成的架构为例,进一步阐述本发明的基于Nacos的服务注册和服务调用的系统的实施过程。其中,Nginx包括获取模块10和域名定义模块40,Gateway包括处理模块20,Nacos包括服务注册模块30和服务调用模块50。
如图2所示,step1为服务注册过程,具体地,用户可先通过访问页面访问Nginx(反向代理web服务器),然后可通过其中的注册页面输入配置服务信息至Gateway(网关),Gateway可接收该配置服务信息并对其进行封装处理以得到服务注册请求信息,即实例对象,进而可根据得到的服务注册请求信息,即实例对象请求Nacos进行服务注册并得到服务注册列表,由此,可实现服务注册过程。
如图2所示,step2为服务调用过程,具体地,当需要服务调用服务注册列表中的服务实例时,用户可先采用服务调用请求初始域名,例如http://gateway.dtstack.com三级域名发出调用请求至Nginx,Nginx可通过lua脚本动态解析分割该http://gateway.dtstack.com三级域名,并可将Routing-Tag,即环境隔离标识符放入该http://gateway.dtstack.com三级域名的Request Header中,以最终得到http://Routing-Tag.gateway.dtstack.com服务调用域名。
进一步地,如图2所示,Nginx可通过反向代理,在http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中带上Routing-Tag,即环境隔离标识符向Gateway进行服务调用请求,Gateway可处理该服务调用请求,可解析http://Routing-Tag.gateway.dtstack.com服务调用域名,以从http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中提取Routing-Tag,即环境隔离标识符,以请求Nacos获取服务注册列表中的所有服务实例,即实例对象,进而可根据从http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中提取Routing-Tag,即环境隔离标识符路由对应的服务实例即实例对象。具体地,可遍历服务注册列表中所有的服务实例,即实例对象的Routing-Tag,即环境隔离标识符,并可将其与从http://Routing-Tag.gateway.dtstack.com服务调用域名的Request Header中提取的Routing-Tag,即环境隔离标识符进行比较,若一致,则请求调用对应的服务实例,即实例对象,若不一致,则请求调用服务注册列表中的任一服务实例,即实例对象。
本发明的有益效果如下:
1)本发明能够根据配置服务信息自动进行服务注册,既不需要将项目改造成微服务,也不需要引入微服务相关依赖,从而能够提高服务注册的便捷性;
2)本发明通过引入环境隔离标识符,能够实现环境隔离功能,从而能够将不同的配置请求配置到对应的服务实例上,并能够实现对应服务实例的准确调用。
对应上述实施例的基于Nacos的服务注册和服务调用的方法,本发明还提出一种计算机设备。
本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现上述实施例的基于Nacos的服务注册和服务调用的方法。
根据本发明实施例的计算机设备,根据配置服务信息自动进行服务注册,既不需要将项目改造成微服务,也不需要引入微服务相关依赖,从而能够提高服务注册的便捷性,此外,通过引入环境隔离标识符,能够实现环境隔离功能,从而能够将不同的配置请求配置到对应的服务实例上,并能够实现对应服务实例的准确调用。
对应上述实施例的基于Nacos的服务注册和服务调用的方法,本发明还提出一种非临时性计算机可读存储介质。
本发明实施例的非临时性计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的基于Nacos的服务注册和服务调用的方法。
根据本发明实施例的非临时性计算机可读存储介质,根据配置服务信息自动进行服务注册,既不需要将项目改造成微服务,也不需要引入微服务相关依赖,从而能够提高服务注册的便捷性,此外,通过引入环境隔离标识符,能够实现环境隔离功能,从而能够将不同的配置请求配置到对应的服务实例上,并能够实现对应服务实例的准确调用。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (8)

1.一种基于Nacos的服务注册和服务调用的方法,其特征在于,包括以下步骤:
获取服务注册的配置服务信息,其中,所述配置服务信息包括环境隔离标识符;
根据所述配置服务信息得到服务注册请求信息;
根据所述服务注册请求信息请求Nacos进行服务注册并得到服务注册列表;
根据所述环境隔离标识符定义服务调用域名,其中,所述根据所述环境隔离标识符定义服务调用域名,具体包括以下步骤:
获取服务调用请求初始域名,其中,所述服务调用请求初始域名为三级域名;
解析分割所述服务调用请求初始域名;
在解析分割后的所述服务调用请求初始域名中配置所述环境隔离标识符,以得到所述服务调用域名;
根据所述服务调用域名请求所述Nacos调用所述服务注册列表中的服务实例。
2.根据权利要求1所述的基于Nacos的服务注册和服务调用的方法,其特征在于,所述配置服务信息还包括IP、Port和Service Name。
3.根据权利要求2所述的基于Nacos的服务注册和服务调用的方法,其特征在于,所述根据所述配置服务信息得到服务注册请求信息,具体包括以下步骤:
对所述IP、所述Port、所述Service Name和所述环境隔离标识符进行封装以得到所述服务注册请求信息。
4.根据权利要求3所述的基于Nacos的服务注册和服务调用的方法,其特征在于,所述根据所述服务调用域名请求所述Nacos调用所述服务注册列表中的服务实例,具体包括以下步骤:
解析所述服务调用域名以提取所述环境隔离标识符;
根据所述环境隔离标识符请求所述Nacos调用所述服务注册列表中的服务实例。
5.根据权利要求4所述的基于Nacos的服务注册和服务调用的方法,其特征在于,所述根据所述环境隔离标识符请求所述Nacos调用所述服务注册列表中的服务实例,具体包括以下步骤:
比较所述环境隔离标识符与所述服务注册列表中的服务实例的环境隔离标识符是否一致;
若是,则请求调用相应的服务实例;
若否,则请求调用所述服务注册列表中的任一服务实例。
6.一种基于Nacos的服务注册和服务调用的系统,其特征在于,包括:
获取模块,所述获取模块用于获取服务注册的配置服务信息,其中,所述配置服务信息包括环境隔离标识符;
处理模块,所述处理模块用于根据所述配置服务信息得到服务注册请求信息;
服务注册模块,所述服务注册模块用于根据所述服务注册请求信息请求Nacos进行服务注册并得到服务注册列表;
域名定义模块,所述域名定义模块用于根据所述环境隔离标识符定义服务调用域名,其中,所述域名定义模块具体用于:
获取服务调用请求初始域名,其中,所述服务调用请求初始域名为三级域名;
解析分割所述服务调用请求初始域名;
在解析分割后的所述服务调用请求初始域名中配置所述环境隔离标识符,以得到所述服务调用域名;
服务调用模块,所述服务调用模块用于根据所述服务调用域名请求所述Nacos调用所述服务注册列表中的服务实例。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现根据权利要求1-5中任一项所述的基于Nacos的服务注册和服务调用的方法。
8.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现根据权利要求1-5中任一项所述的基于Nacos的服务注册和服务调用的方法。
CN202210070270.4A 2022-01-21 2022-01-21 基于Nacos的服务注册和服务调用的方法和系统 Active CN114500027B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210070270.4A CN114500027B (zh) 2022-01-21 2022-01-21 基于Nacos的服务注册和服务调用的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210070270.4A CN114500027B (zh) 2022-01-21 2022-01-21 基于Nacos的服务注册和服务调用的方法和系统

Publications (2)

Publication Number Publication Date
CN114500027A CN114500027A (zh) 2022-05-13
CN114500027B true CN114500027B (zh) 2024-01-12

Family

ID=81472150

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210070270.4A Active CN114500027B (zh) 2022-01-21 2022-01-21 基于Nacos的服务注册和服务调用的方法和系统

Country Status (1)

Country Link
CN (1) CN114500027B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016197609A1 (zh) * 2015-06-12 2016-12-15 华为技术有限公司 一种应用的用户信息管理的方法、设备及系统
CN107103233A (zh) * 2011-11-02 2017-08-29 微软技术许可有限责任公司 用于基于动态域的隔离的技术
CN108574616A (zh) * 2017-03-14 2018-09-25 华为技术有限公司 一种处理路由的方法、设备及系统
CN111131034A (zh) * 2019-11-28 2020-05-08 江苏艾佳家居用品有限公司 一种用于分布式系统的基于标签的环境隔离方法
WO2020264431A1 (en) * 2019-06-28 2020-12-30 Amazon Technologies, Inc. Connection pooling for scalable network services
CN112346899A (zh) * 2020-11-06 2021-02-09 北京北信源软件股份有限公司 微服务性能优化方法及装置
WO2021047252A1 (zh) * 2019-09-09 2021-03-18 平安科技(深圳)有限公司 多环境下的网关自动路由方法、装置、设备及存储介质
CN112698970A (zh) * 2020-12-31 2021-04-23 北京千方科技股份有限公司 用于微服务架构的服务调用方法、装置及计算机存储介质
CN113626095A (zh) * 2021-06-29 2021-11-09 欧电云信息科技(江苏)有限公司 配置中心的切换方法、切换系统、电子设备及存储介质
CN113778985A (zh) * 2021-08-19 2021-12-10 上海东普信息科技有限公司 微服务架构监控方法、装置、计算机设备和存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107103233A (zh) * 2011-11-02 2017-08-29 微软技术许可有限责任公司 用于基于动态域的隔离的技术
WO2016197609A1 (zh) * 2015-06-12 2016-12-15 华为技术有限公司 一种应用的用户信息管理的方法、设备及系统
CN108574616A (zh) * 2017-03-14 2018-09-25 华为技术有限公司 一种处理路由的方法、设备及系统
WO2020264431A1 (en) * 2019-06-28 2020-12-30 Amazon Technologies, Inc. Connection pooling for scalable network services
WO2021047252A1 (zh) * 2019-09-09 2021-03-18 平安科技(深圳)有限公司 多环境下的网关自动路由方法、装置、设备及存储介质
CN111131034A (zh) * 2019-11-28 2020-05-08 江苏艾佳家居用品有限公司 一种用于分布式系统的基于标签的环境隔离方法
CN112346899A (zh) * 2020-11-06 2021-02-09 北京北信源软件股份有限公司 微服务性能优化方法及装置
CN112698970A (zh) * 2020-12-31 2021-04-23 北京千方科技股份有限公司 用于微服务架构的服务调用方法、装置及计算机存储介质
CN113626095A (zh) * 2021-06-29 2021-11-09 欧电云信息科技(江苏)有限公司 配置中心的切换方法、切换系统、电子设备及存储介质
CN113778985A (zh) * 2021-08-19 2021-12-10 上海东普信息科技有限公司 微服务架构监控方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN114500027A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
US11589298B2 (en) Methods, systems, and computer readable media for selecting multiple network function types using a single discovery request
CN107948135B (zh) 一种支持多种api协议的数据处理方法及装置
CN110300133B (zh) 跨域数据传输方法、装置、设备及存储介质
CN111026982A (zh) 智能合约处理方法、计算机设备及存储介质
CN111212154B (zh) 服务绑定方法、装置、终端、服务器和存储介质
CN111385316B (zh) 资源刷新方法、访问方法及装置
CN111061643A (zh) Sdk集群的兼容性检测方法、装置、电子设备及存储介质
CN111010438A (zh) 远程过程调用方法、装置、服务器及存储介质
CN110865844B (zh) 基于车联网平台的应用配置系统及方法
CN111586097A (zh) 一种网络请求处理方法、计算设备及存储介质
CN114500027B (zh) 基于Nacos的服务注册和服务调用的方法和系统
CN114816623A (zh) 基于CEF内核与UnrealEngine端的嵌入式界面渲染和通讯系统
CN113742108A (zh) 服务调用方法和装置、电子设备和计算机可读存储介质
CN112468585A (zh) 数据传输方法、装置、电子设备及存储介质
CN110290201B (zh) 图片获取方法、移动终端、服务器以及存储介质
CN110830263A (zh) 车载系统自动登录方法及装置
CN114003220B (zh) 工作流模型实现方法、系统、可读存储介质及计算机设备
CN104301779B (zh) 一种视频文件的播放方法、系统和装置
CN102957958B (zh) 一种机顶盒升级方法及机顶盒终端
CN112887362B (zh) 一种设备访问方法、设备访问装置及服务器
CN110855782B (zh) 一种服务调用系统、方法、电子设备及可读存储介质
CN112698970A (zh) 用于微服务架构的服务调用方法、装置及计算机存储介质
CN110309000B (zh) 应用更新提示方法及终端设备
CN111580998A (zh) SaaS服务模式下多租户的RPC调用方法
CN115103016B (zh) 基于c/s架构的路由调用的处理方法、装置、设备及介质

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