CN115086412A - 一种微服务开发方法、系统以及计算机设备和介质 - Google Patents
一种微服务开发方法、系统以及计算机设备和介质 Download PDFInfo
- Publication number
- CN115086412A CN115086412A CN202110280004.XA CN202110280004A CN115086412A CN 115086412 A CN115086412 A CN 115086412A CN 202110280004 A CN202110280004 A CN 202110280004A CN 115086412 A CN115086412 A CN 115086412A
- Authority
- CN
- China
- Prior art keywords
- microservice
- node
- development
- micro
- address
- 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
- 238000011161 development Methods 0.000 title claims abstract description 154
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012360 testing method Methods 0.000 claims abstract description 67
- 230000000977 initiatory effect Effects 0.000 claims abstract description 6
- 238000004590 computer program Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及微服务开发方法和系统以及相关联的计算机设备和介质,特别地,本公开提供了一种应用于开发微服务节点的微服务开发方法,其特征在于,所述方法包括:部署微服务的运行实例;将所述开发微服务节点的IP地址以及所部署的微服务的微服务名注册到微服务注册服务器;以及发起对所述微服务的所述运行实例的测试。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种微服务开发方法、系统以及相关联的计算机设备和介质。
背景技术
随着信息技术的快速发展,应用软件架构发生了巨大变化,传统的整体式架构转变为新型的微服务架构。
微服务架构是一项在云中部署应用和服务的新技术。微服务是由原有的单个业务系统被拆分为多个可以独立开发、涉及、运行以及维护的小应用。微服务是一种架构风格,例如,一个应用程序需要至少一个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务作为一个小应用,仅关注于完成一件任务并很好地完成该任务。并且,当技术人员对微服务进行升级时,经常对该微服务进行测试,以保证更新的微服务能够与软件应用中其他的微服务正常配合使用。
但是,在现有技术中,对微服务进行开发时,需构建整体微服务链路的开发环境。由于各个微服务之间有较强的调用关系,所以需要有全量的微服务部署至开发环境中。如此将导致以下问题:构建微服务开发环境耗时长,如通常需要多日才能搭建;并且开发环境难以调试,如在测试过程中需花费大量时间定位是否是测试环境问题;同时开发环境不稳定,如常常因为一个微服务的问题导致测试受阻等问题。
因此,需要一种新的微服务开发方法、系统以及计算机设备和介质,以微服务开发效率。
发明内容
按照本发明的一个方面,提供了一种应用于开发微服务节点的微服务开发方法,其特征在于,所述方法包括:部署微服务的运行实例;将所述开发微服务节点的IP地址以及所部署的微服务的微服务名注册到微服务注册服务器;以及发起对所述微服务的所述运行实例的测试。
进一步地,在根据本发明的一个方面中,所述开发微服务节点的IP地址在所述微服务注册服务器上与所述微服务的微服务名相关联。
进一步地,在根据本发明的一个方面中,所述微服务的所述运行实例是私有访问的。
进一步地,在根据本发明的一个方面中,当发起对所述微服务的所述运行实例的测试时,所述开发微服务节点调用部署在公共微服务节点上的微服务的运行实例。
进一步地,在根据本发明的一个方面中,调用部署在公共微服务节点上的微服务的运行实例包括:所述开发微服务节点向所述微服务注册服务器查询所述测试所调用的微服务的微服务名。
进一步地,在根据本发明的一个方面中,所述开发微服务节点从所述微服务注册服务器获取与所述微服务名相关联的IP地址,其中所述IP地址包括所述公共微服务节点的IP地址。
进一步地,在根据本发明的一个方面中,所述开发微服务节点选择所述公共微服务节点的IP地址进行测试,以调用部署在公共微服务节点上的微服务的运行实例。
进一步地,在根据本发明的一个方面中,当所述IP地址还包括开发微服务节点的IP地址时,所述开发微服务节点优先选择所述开发微服务节点的IP地址来调用微服务的运行示例,以进行测试。
进一步地,在根据本发明的一个方面中,所述开发微服务节点是由一个或多个实体计算机组成的运算节点。
进一步地,在根据本发明的一个方面中,所述方法在Spring Cloud微服务框架下运行。
按照本发明的还有一个方面,提供了一种应用于公共微服务节点的微服务开发方法,其特征在于,所述方法包括:部署微服务的运行实例,其中所述微服务的运行实例保持运行,以供其他节点测试;将所述公共微服务节点的IP地址以及所部署的微服务的微服务名注册到微服务注册服务器。
进一步地,在根据本发明的还有一个方面中,所述公共微服务节点的IP地址在所述微服务注册服务器上与所述微服务的微服务名相关联。
进一步地,在根据本发明的还有一个方面中,所述微服务的所述运行实例是公共可访问的。
进一步地,在根据本发明的还有一个方面中,所述公共微服务节点从所述微服务注册服务器获取与微服务名相关联的IP地址。
进一步地,在根据本发明的还有一个方面中,所述公共微服务节点选择所获取的IP地址调用部署在其他节点上的微服务的运行实例。
进一步地,在根据本发明的还有一个方面中,所述公共微服务节点是由一个或多个实体计算机组成的运算节点。
进一步地,在根据本发明的还有一个方面中,所述方法在Spring Cloud微服务框架下运行。
按照本发明的仍有一个方面,提供了一种应用于开发微服务节点的微服务开发系统,其特征在于,所述系统包括:部署模块,所述部署模块部署微服务的运行实例;注册模块,所述注册模块将所述开发微服务节点的IP地址以及所部署的微服务的微服务名注册到微服务注册服务器;以及测试模块,所述测试模块发起对所述微服务的所述运行实例的测试。
进一步地,在根据本发明的仍有一个方面中,所述开发微服务节点的IP地址在所述微服务注册服务器上与所述微服务的微服务名相关联。
进一步地,在根据本发明的仍有一个方面中,所述微服务的所述运行实例是私有访问的。
进一步地,在根据本发明的仍有一个方面中,当所述测试模块发起对所述微服务的所述运行实例的测试时,所述测试模块调用部署在公共微服务节点上的微服务的运行实例。
进一步地,在根据本发明的仍有一个方面中,所述测试模块调用部署在公共微服务节点上的微服务的运行实例包括:所述注册模块向所述微服务注册服务器查询所述测试所调用的微服务的微服务名。
进一步地,在根据本发明的仍有一个方面中,微服务开发系统获取与所述微服务名相关联的IP地址,其中所述IP地址包括所述公共微服务节点的IP地址。
进一步地,在根据本发明的仍有一个方面中,所述测试模块选择所述公共微服务节点的IP地址进行测试,以调用部署在公共微服务节点上的微服务的运行实例。
进一步地,在根据本发明的仍有一个方面中,当所述IP地址还包括开发微服务节点的IP地址时,所述测试模块优先选择所述开发微服务节点的IP地址来调用微服务的运行示例,以进行测试。
进一步地,在根据本发明的仍有一个方面中,所述开发微服务节点是由一个或多个实体计算机组成的运算节点。
进一步地,在根据本发明的仍有一个方面中,所述系统在Spring Cloud微服务框架下运行。
按照本发明的另外一个方面,提供了一种应用于公共微服务节点的微服务开发系统,其特征在于,所述系统包括:部署模块,所述部署模块部署微服务的运行实例,其中所述微服务的运行实例保持运行,以供其他节点测试;注册模块,所述注册模块将所述公共微服务节点的IP地址以及所部署的微服务的微服务名注册到微服务注册服务器。
进一步地,在根据本发明的另外一个方面中,所述公共微服务节点的IP地址在所述微服务注册服务器上与所述微服务的微服务名相关联。
进一步地,在根据本发明的另外一个方面中,所述微服务的所述运行实例是公共可访问的。
进一步地,在根据本发明的另外一个方面中,所述系统从所述微服务注册服务器获取与微服务名相关联的IP地址。
进一步地,在根据本发明的另外一个方面中,所述系统还包括调用模块,所述调用模块选择所获取的IP地址调用部署在其他节点上的微服务的运行实例。
进一步地,在根据本发明的另外一个方面中,所述公共微服务节点是由一个或多个实体计算机组成的运算节点。
进一步地,在根据本发明的另外一个方面中,所述系统在Spring Cloud微服务框架下运行。
按照本发明的又一个方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现根据本发明的一个方面的方法的步骤。
按照本发明的再一个方面,提供一种记录介质,其上存储有计算机程序,该程序被计算机执行以实现根据本发明的一个方面的方法的步骤。
根据本发明的一个或多个实施例,可以对单个或多个微服务节点进行开发和调试,而无需同时启动整个微服务链路或与单个或多个微服务节点无关的其他微服务节点;
根据本发明的一个或多个实施例,微服务节点可以通过调用其他微服务节点或者开发节点来实现路由选择,从而节省微服务节点资源。
附图说明
图1示出了根据本发明的一个实施例的微服务开发的示意图100。
图2示出了根据本发明的另一个实施例的微服务开发的示意图200。
图3示出了根据本发明的一个实施例的应用于开发微服务节点的微服务开发方法300。
图4示出了根据本发明的一个实施例的应用于公共微服务节点的微服务开发方法400。
图5示出了根据本发明的一个实施例的应用于开发微服务节点的微服务开发系统500。
图6示出了根据本发明的一个实施例的应用于公共微服务节点的微服务开发系统600。
图7是根据本发明的一个实施例的本文所述方法的计算机设备的示例框图700。
具体实施方式
以下将结合附图对本发明涉及的数据加解密方法、设备以及计算机介质作进一步的详细描述。需要注意的是,以下的具体实施方式是示例性而非限制的,其旨在提供对本发明的基本了解,并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。
下文参考本发明实施例的方法和装置的框图说明、框图和/或流程图来描述本发明。将理解这些流程图说明和/或框图的每个框、以及流程图说明和/或框图的组合可以由计算机程序指令来实现。可以将这些计算机程序指令提供给通用计算机、专用计算机或其它可编程数据处理设备的处理器以构成机器,以便由计算机或其它可编程数据处理设备的处理器执行的这些指令创建用于实施这些流程图和/或框和/或一个或多个流程框图中指定的功能/操作的部件。
可以将这些计算机程序指令存储在计算机可读存储器中,这些指令可以指示计算机或其它可编程处理器以特定方式实现功能,以便存储在计算机可读存储器中的这些指令构成包含实施流程图和/或框图的一个或多个框中指定的功能/操作的指令部件的制作产品。
可以将这些计算机程序指令加载到计算机或其它可编程数据处理器上以使一系列的操作步骤在计算机或其它可编程处理器上执行,以便构成计算机实现的进程,以使计算机或其它可编程数据处理器上执行的这些指令提供用于实施此流程图和/或框图的一个或多个框中指定的功能或操作的步骤。还应该注意在一些备选实现中,框中所示的功能/操作可以不按流程图所示的次序来发生。例如,依次示出的两个框实际可以基本同时地执行或这些框有时可以按逆序执行,具体取决于所涉及的功能/操作。
如背景技术所述的,在现有对微服务的开发中,需要部署所有的微服务在测试节点上或者开发针对所有微服务的单元测试来完成对涉及多个微服务的开发。然而常规方法中的开发方法带来巨大的资源消耗并且难以调试。为了解决这个问题,本公开提出了一种微服务开发方法、系统以及计算机设备和介质。本发明所涉及的方法、设备以及计算机介质可以用于微服务链路中的公共微服务节点、微服务注册服务器以及开发微服务节点之间的微服务开发,其中通过将微服务调用路由到开发节点实现了有限的微服务启动,并且可以针对单个或数个微服务进行开发测试。
图1示出了根据本发明的一个实施例的微服务开发的示意图100。如图1中所示,根据本发明的微服务开发方法可包括三方,分别为公共微服务节点101、微服务注册服务器102以及开发微服务节点103。如本领域技术人员可以理解的,在本发明中,节点服务器不一定为单个实体计算机,其可以是由一个或多个计算机、服务器或计算设备组成的运算节点。在运算节点上可以运行微服务的全部或部分的运行实例。公共微服务节点101为公共节点,其上部署有多个微服务110、120至N的运行实例(取决于公共微服务节点的运算能力)。在公共微服务节点101上运行的微服务的运行示例时公共的并且可以由远端的任何节点进行调用。相对地,开发微服务节点103为私有节点,其上运行有微服务110的运行实例,该运行示例仅能由开发人员访问,并且由开发人员进行调试。微服务注册服务器为公共的服务注册服务器,其上可以注册微服务节点的IP地址以及微服务节点上部署的微服务的微服务名,并且在服务器上可以将微服务节点的IP地址与其上部署的微服务的微服务名相关联。相应地,微服务注册服务器也可以通过解析微服务的微服务名获取与其相关联的微服务节点的IP地址。
如上所述,在现有技术中,私有节点进行微服务调试时,需要将所有相关联的微服务部署在私有节点,即,开发微服务节点103上。这加大了私有节点的运算并且不适应于现代迭代式的软件开发。
本公开提供了一种全新的微服务开发方法。方法可以在Spring Cloud微服务框架下运行。如图1中所示,开发微服务节点103仅部署了微服务110的运行实例,而公共微服务节点101取决于其运算能力可以部署有多个微服务120至N的运行实例。在方法的开始,公共微服务节点101以及开发微服务节点103分别将其IP地址以及所部署的微服务的微服务名注册到微服务注册服务器。在微服务的运行实例启动时,微服务的微服务名与部署该微服务的节点的IP地址将在微服务注册服务器上被注册,并被相关联为映射关系。换言之,在微服务注册服务器上,节点的IP地址以及节点上部署的微服务的微服务名被相关联。节点通过查询该微服务名可以获取部署有微服务名相关联的微服务的节点的地址。具体方式将在下文中介绍。
开发微服务节点103可以开始对微服务110的运行实例的测试。以示例的方式,对微服务110的运行实例的测试可能涉及调用微服务120的运行实例。在这种情况下,开发微服务节点103将在微服务注册服务器102上查询微服务120的微服务名。微服务注册服务器102解析微服务120的微服务名并找到在微服务注册服务器102上与微服务名相关联的IP地址,即,公共微服务节点的IP地址。开发微服务节点将定期从微服务注册服务器102上获取与微服务名相关联的节点的IP地址。开发微服务节点103选择所获取的公共微服务节点的IP地址调用公共微服务节点101上的微服务120的运行实例进行测试,从而避免了将微服务120的运行实例部署到本地开发微服务节点的工作。另外,远程调用公共微服务开发节点上的微服务的运行实例,可以实现多个私有开发微服务节点对微服务的共同开发和调用。通过并行的方式,提升微服务的运行实例的利用效率。
另外的,公共微服务节点103在有需要时也可以调用开发微服务节点101上的微服务的运行实例。以示例的方式,当开发微服务节点101调用公共微服务节点103的微服务120的运行实例时,微服务120的运行实例可能需要微服务110的运行实例的信息。因此公共微服务节点103将在微服务注册服务器102上查询微服务110的微服务名。公共微服务节点103从微服务注册服务器102获取与微服务110的微服务名相关联的IP地址,即,开发微服务节点101的IP地址。。公共微服务节点103选择该IP地址调用部署在开发微服务节点上的微服务110的运行实例,从而满足开发微服务节点101对公共微服务节点103上的微服务120的运行实例的调用,由此实现开发微服务节点对微服务的测试。
图2示出了根据本发明的另一个实施例的微服务开发的示意图200。图2所述的微服务开发方法还可以进一步实现开发微服务节点对微服务的优选路由。与图1不同的是,如图2中所示,图2中的公共微服务节点201还部署有微服务210的运行实例,其他部分与图1相同。如上所述,当开发微服务节点203开始对微服务210的运行实例进行测试时,这可能涉及微服务220的运行实例。由此,在微服务的运行示例启动时,所述微服务的微服务名被注册到微服务注册服务器202上。微服务注册服务器202解析该微服务名并获取相关联的IP地址(公共微服务节点201的IP地址)。开发微服务节点203定期从微服务注册服务器202获取相关联的IP地址。开发微服务节点203选择公共微服务节点201的IP地址调用公共微服务节点201上的微服务220的运行实例。在微服务220的运行实例被调用时,其可能转而又涉及微服务210的运行示例。因此,开发微服务节点203在微服务注册服务器202上查询微服务210的微服务名。微服务注册服务器202解析微服务210的微服务名,在这种情况下,由于微服务210的运行实例部署同时部署在公共微服务节点201以及开发微服务节点203上,所以微服务210的微服务名与两个微服务节点的IP地址相关联。因此开发微服务节点203将获取两个或多个微服务节点的IP地址。在获取与微服务210的微服务名相关联的多个IP地址(例如,两个)后,微服务节点203将优先路由选择己方的IP地址(微服务节点203的IP地址),从而调用部署在本地开发微服务节点上的微服务210的运行实例,从而使得本地开发人员能够在本地的开发微服务节点203上调用微服务210的运行实例。
图3示出了根据本发明的一个实施例的应用于开发微服务节点的微服务开发方法300。如图3中所示,所述方法包括三个步骤,步骤S301部署微服务的运行实例;步骤S302将所述开发微服务节点的IP地址以及所部署的微服务的微服务名注册到微服务注册服务器;以及步骤S303发起对所述微服务的所述运行实例的测试。
在步骤S301中,开发微服务节点在其上部署微服务的运行实例。在此,可以部署一个或多个待测的微服务的运行实例,而无需将所有相关的微服务的运行实例均部署在开发微服务节点上。在开发微服务节点上的微服务的运行示例是私有的,其由所开发人员访问。
在步骤S302中,开发微服务节点将其IP地址以及在其上所部署的微服务的微服务名注册到微服务注册服务器。在微服务的运行实例启动时,微服务的微服务名与部署该微服务的节点的IP地址将在微服务注册服务器上被注册,并被相关联为映射关系。开发微服务节点在微服务注册服务器上查询微服务名,然后微服务注册服务器可以解析该微服务名,获取该微服务名所属的微服务在哪些IP地址上得到了部署。
在步骤S303中,开发微服务节点将发起对所部署的微服务的所述运行实例的测试。对所部署的微服务的所述运行实例的测试可能涉及没有部署在开发微服务节点上的微服务的运行示例。在这种情况下,开发微服务节点将调用部署在公共微服务节点上的微服务的运行实例。
调用方式具体包括,开发微服务节点将测试所调用的微服务的微服务名注册到微服务注册服务器。微服务注册服务器将解析该微服务名并获得与该微服务名相关联的IP地址,即部署有多个微服务的运行实例的公共微服务节点的IP地址。开发微服务节点将定期从微服务注册服务器获取相关联的IP地址(例如,公共微服务节点的IP地址),由此开发微服务节点选择公共微服务节点的IP地址调用部署在公共微服务节点上的微服务的运行实例,从而实现对微服务的运行示例的测试。
另外,当微服务注册服务器解析微服务名后发现微服务名关联有多个IP地址,则开发微服务节点将获取所述多个IP地址。在多个IP地址包括所述开发微服务节点的IP地址的情况下,所述开发微服务节点将优先选择所述开发微服务节点的IP地址来调用微服务的运行示例,以进行测试。
通过这种方式,不需要将所有微服务的运行示例均部署在开发微服务节点上,同时通过公共可访问的微服务的运行示例,可以实现多个开发微服务节点对微服务的运行示例的并行调用和开发。根据本发明的方法在Spring Cloud微服务框架下运行。
图4示出了根据本发明的一个实施例的应用于公共微服务节点的微服务开发方法400。如图4中所示,所述方法包括两个步骤,步骤S401部署微服务的运行实例,其中所述微服务的运行实例保持运行,以供其他节点测试;步骤S402将所述公共微服务节点的IP地址以及所部署的微服务的微服务名注册到微服务注册服务器。
在步骤S401中,公共微服务节点在其上部署多个微服务的运行实例,具体部署的数量可以取决于公共微服务节点的运算能力。由此,公共微服务节点成为公共的微服务的运行示例的运行池。其他节点可以从该公共的池中调用所需的微服务的运行示例,其中的微服务的所述运行实例是公共可访问的。
在步骤S402中,公共微服务节点将其IP地址以及在其上所部署的微服务的微服务名注册到微服务注册服务器。公共微服务节点的IP地址在所述微服务注册服务器上与在其上所部署的微服务的微服务名相关联。
在另外的微服务节点调用公共微服务节点上的微服务的运行实例时,公共微服务节点上的微服务的运行示例可能涉及其他微服务的运行实例。在这种情况下,公共微服务节点可以调用其他微服务的运行实例。具体的调用方式与方法300中的调用方式类似。
图5示出了根据本发明的一个实施例的应用于开发微服务节点的微服务开发系统500。如图5中所示,所述方法包括三个模块,部署模块501,所述部署模块501部署微服务的运行实例;注册模块502,所述注册模块502将所述开发微服务节点的IP地址以及所部署的微服务的微服务名注册到微服务注册服务器;以及测试模块503,所述测试模块503发起对所述微服务的所述运行实例的测试。
部署模块501在其上部署微服务的运行实例。在此,可以部署一个或多个待测的微服务的运行实例,而无需将所有相关的微服务的运行实例均部署在开发微服务节点上。在开发微服务节点上的微服务的运行示例是私有的,其由所开发人员访问。
注册模块502将其IP地址以及在其上所部署的微服务的微服务名注册到微服务注册服务器。在微服务注册服务器上,IP地址将与微服务名相关联。开发微服务节点在微服务注册服务器上查询微服务名,然后微服务注册服务器可以解析该微服务名,得到该微服务名所属的微服务在哪些IP地址上得到了部署。
测试模块503将发起对所部署的微服务的所述运行实例的测试。对所部署的微服务的所述运行实例的测试可能涉及没有部署在开发微服务节点上的微服务的运行示例。在这种情况下,开发微服务节点将调用部署在公共微服务节点上的微服务的运行实例。
可选地,系统500还可以执行对微服务的调用。调用方式具体包括,注册模块502将测试所调用的微服务的微服务名注册到微服务注册服务器。微服务注册服务器将解析该微服务名并获得与该微服务名相关联的IP地址,即部署有多个微服务的运行实例的公共微服务节点的IP地址。系统500从微服务注册服务器获取相关联的IP地址,即公共微服务节点的IP地址。测试模块503选择公共微服务节点的IP地址调用部署在公共微服务节点上的微服务的运行实例,从而实现对微服务的运行示例的测试。
另外,当微服务注册服务器解析微服务名后发现微服务名关联有多个IP地址,则系统500从微服务注册服务器获取所述多个IP地址。在多个IP地址包括所述开发微服务节点的IP地址的情况下,测试模块503将优先选择所述开发微服务节点的IP地址来调用微服务的运行示例,以进行测试。
通过这种方式,不需要将所有微服务的运行示例均部署在开发微服务节点上,同时通过公共可访问的微服务的运行示例,可以实现多个开发微服务节点对微服务的运行示例的并行调用和开发。根据本发明的方法在Spring Cloud微服务框架下运行。
图6示出了根据本发明的一个实施例的应用于公共微服务节点的微服务开发系统600。如图6中所示,所述方法包括两个模块,部署模块601,所述部署模块601部署微服务的运行实例,其中所述微服务的运行实例保持运行,以供其他节点测试;注册模块602,所述注册模块602将所述公共微服务节点的IP地址以及所部署的微服务的微服务名注册到微服务注册服务器。
部署模块601在其上部署多个微服务的运行实例,具体部署的数量可以取决于公共微服务节点的运算能力。由此,公共微服务节点成为公共的微服务的运行示例的运行池。其他节点可以从该公共的池中调用所需的微服务的运行示例,其中的微服务的所述运行实例是公共可访问的。
注册模块602将其IP地址以及在其上所部署的微服务的微服务名注册到微服务注册服务器。公共微服务节点的IP地址在所述微服务注册服务器上与在其上所部署的微服务的微服务名相关联。
在另外的微服务节点调用公共微服务节点上的微服务的运行实例时,公共微服务节点上的微服务的运行示例可能涉及其他微服务的运行实例。可选地,在这种情况下,系统600可以调用其他微服务的运行实例。具体而言,系统可以从微服务注册服务器获取IP地址,从而选择该IP地址进行调用。具体方式与系统500中的方式类似。
虽然在此之前对微服务开发的方法和系统的实施例进行了说明,但是本发明不限定于这些实施例,也可以将本发明实施为以下方式:用于执行上述方法的计算机设备或者用于执行上述方法的计算机程序的方式或者用于实现上述装置的功能的计算机程序的方式或者记录有该计算机程序的计算机可读取的记录介质的方式。
在图7中示出了根据本发明的一个实施例的用于如上所述的一种数据加解密方法的计算机设备。如图7中所示,计算机设备700包括存储器701和处理器702。虽然未图示,但是计算机设备700还包括存储在存储器701上并可在处理器702上运行的计算机程序。所述处理器执行所述程序时同时实现图1、图2、图3和图4所示的步骤。
另外,如上所述,本发明也可以被实施为一种记录介质,在其中存储有用于使计算机执行如上所述的数据加解密方法的程序。
在此,作为记录介质,能采用盘类(例如,磁盘、光盘等)、卡类(例如,存储卡、光卡等)、半导体存储器类(例如,ROM、非易失性存储器等)、带类(例如,磁带、盒式磁带等)等各种方式的记录介质。
通过在这些记录介质中记录使计算机执行上述实施例中的数据加解密方法的计算机程序或使计算机实现上述实施例中的数据加解密方法的功能的计算机程序并使其流通,从而能使成本的低廉化以及可携带性、通用性提高。
而且,在计算机上装载上述记录介质,由计算机读出在记录介质中记录的计算机程序并储存在存储器中,计算机所具备的处理器(CPU:Central Processing Unit(中央处理单元)、MPU:Micro Processing Unit(微处理单元))从存储器读出该计算机程序并执行,由此,能执行上述实施例中的数据遮掩、还原方法并能实现上述实施例中的数据遮掩、还原方法的装置的功能。
本领域普通技术人员应当了解,本发明不限定于上述的实施例,本发明可以在不偏离其主旨与范围内以许多其它的形式实施。因此,所展示的示例与实施例被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。
Claims (36)
1.一种应用于开发微服务节点的微服务开发方法,其特征在于,所述方法包括:
部署微服务的运行实例;
将所述开发微服务节点的IP地址以及所部署的微服务的微服务名注册到微服务注册服务器;以及
发起对所述微服务的所述运行实例的测试。
2.根据权利要求1所述的用于开发微服务节点的微服务开发方法,其中所述开发微服务节点的IP地址在所述微服务注册服务器上与所述微服务的微服务名相关联。
3.根据权利要求2所述的用于开发微服务节点的微服务开发方法,其中所述微服务的所述运行实例是私有访问的。
4.根据权利要求3所述的用于开发微服务节点的微服务开发方法,其中当发起对所述微服务的所述运行实例的测试时,所述开发微服务节点调用部署在公共微服务节点上的微服务的运行实例。
5.根据权利要求4所述的用于开发微服务节点的微服务开发方法,其中调用部署在公共微服务节点上的微服务的运行实例包括:所述开发微服务节点向所述微服务注册服务器查询所述测试所调用的微服务的微服务名。
6.根据权利要求5所述的用于开发微服务节点的微服务开发方法,其中所述开发微服务节点从所述微服务注册服务器获取与所述微服务名相关联的IP地址,其中所述IP地址包括所述公共微服务节点的IP地址。
7.根据权利要求6所述的用于开发微服务节点的微服务开发方法,其中所述开发微服务节点选择所述公共微服务节点的IP地址进行测试,以调用部署在公共微服务节点上的微服务的运行实例。
8.根据权利要求6所述的用于开发微服务节点的微服务开发方法,其中当所述IP地址还包括开发微服务节点的IP地址时,所述开发微服务节点优先选择所述开发微服务节点的IP地址来调用微服务的运行示例,以进行测试。
9.根据权利要求8所述的用于开发微服务节点的微服务开发方法,其中所述开发微服务节点是由一个或多个实体计算机组成的运算节点。
10. 根据权利要求1-9中任一项所述的微服务开发方法,其中所述方法在SpringCloud微服务框架下运行。
11.一种应用于公共微服务节点的微服务开发方法,其特征在于,所述方法包括:
部署微服务的运行实例,其中所述微服务的运行实例保持运行,以供其他节点测试;
将所述公共微服务节点的IP地址以及所部署的微服务的微服务名注册到微服务注册服务器。
12.根据权利要求11所述的用于公共微服务节点的微服务开发方法,其中所述公共微服务节点的IP地址在所述微服务注册服务器上与所述微服务的微服务名相关联。
13.根据权利要求12所述的用于公共微服务节点的微服务开发方法,其中所述微服务的所述运行实例是公共可访问的。
14.根据权利要求13所述的用于公共微服务节点的微服务开发方法,其中所述公共微服务节点从所述微服务注册服务器获取与微服务名相关联的IP地址。
15.根据权利要求14所述的用于公共微服务节点的微服务开发方法,其中所述公共微服务节点选择所获取的IP地址调用部署在其他节点上的微服务的运行实例。
16.根据权利要求15所述的用于公共微服务节点的微服务开发方法,其中所述公共微服务节点是由一个或多个实体计算机组成的运算节点。
17. 根据权利要求11-16中任一项所述的微服务开发方法,其中所述方法在SpringCloud微服务框架下运行。
18.一种应用于开发微服务节点的微服务开发系统,其特征在于,所述系统包括:
部署模块,所述部署模块部署微服务的运行实例;
注册模块,所述注册模块将所述开发微服务节点的IP地址以及所部署的微服务的微服务名注册到微服务注册服务器;以及
测试模块,所述测试模块发起对所述微服务的所述运行实例的测试。
19.根据权利要求18所述的用于开发微服务节点的微服务开发系统,其中所述开发微服务节点的IP地址在所述微服务注册服务器上与所述微服务的微服务名相关联。
20.根据权利要求19所述的用于开发微服务节点的微服务开发系统,其中所述微服务的所述运行实例是私有访问的。
21.根据权利要求20所述的用于开发微服务节点的微服务开发系统,其中当所述测试模块发起对所述微服务的所述运行实例的测试时,所述测试模块调用部署在公共微服务节点上的微服务的运行实例。
22.根据权利要求21所述的用于开发微服务节点的微服务开发系统,其中所述测试模块调用部署在公共微服务节点上的微服务的运行实例包括,所述注册模块向所述微服务注册服务器查询所述测试所调用的微服务的微服务名。
23.根据权利要求22所述的用于开发微服务节点的微服务开发系统,其中所述注册模块从所述微服务注册服务器获取与所述微服务名相关联的IP地址,其中所述IP地址包括所述公共微服务节点的IP地址。
24.根据权利要求23所述的用于开发微服务节点的微服务开发系统,其中所述测试模块选择所述公共微服务节点的IP地址进行测试,以调用部署在公共微服务节点上的微服务的运行实例。
25.根据权利要求23所述的用于开发微服务节点的微服务开发系统,其中当所述IP地址还包括开发微服务节点的IP地址时,所述测试模块优先选择所述开发微服务节点的IP地址来调用微服务的运行示例,以进行测试。
26.根据权利要求25所述的用于开发微服务节点的微服务开发系统,其中所述开发微服务节点是由一个或多个实体计算机组成的运算节点。
27. 根据权利要求18-26中任一项所述的微服务开发系统,其中所述系统在SpringCloud微服务框架下运行。
28.一种应用于公共微服务节点的微服务开发系统,其特征在于,所述系统包括:
部署模块,所述部署模块部署微服务的运行实例,其中所述微服务的运行实例保持运行,以供其他节点测试;
注册模块,所述注册模块将所述公共微服务节点的IP地址以及所部署的微服务的微服务名注册到微服务注册服务器。
29.根据权利要求28所述的用于公共微服务节点的微服务开发系统,其中所述公共微服务节点的IP地址在所述微服务注册服务器上与所述微服务的微服务名相关联。
30.根据权利要求29所述的用于公共微服务节点的微服务开发系统,其中所述微服务的所述运行实例是公共可访问的。
31.根据权利要求30所述的用于公共微服务节点的微服务开发系统,其中所述注册模块从所述微服务注册服务器获取与微服务名相关联的IP地址。
32.根据权利要求31所述的用于公共微服务节点的微服务开发系统,其中所述系统选择所获取的IP地址调用部署在其他节点上的微服务的运行实例。
33.根据权利要求32所述的用于公共微服务节点的微服务开发系统,其中所述公共微服务节点是由一个或多个实体计算机组成的运算节点。
34. 根据权利要求28-33中任一项所述的微服务开发系统,其中所述系统在SpringCloud微服务框架下运行。
35.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现根据权利要求1至17中任一项所述的方法的步骤。
36.一种记录介质,其上存储有计算机程序,其特征在于,该程序被计算机执行以实现根据权利要求1至17中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110280004.XA CN115086412A (zh) | 2021-03-16 | 2021-03-16 | 一种微服务开发方法、系统以及计算机设备和介质 |
PCT/CN2022/079551 WO2022193979A1 (zh) | 2021-03-16 | 2022-03-07 | 一种微服务开发方法、系统以及计算机设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110280004.XA CN115086412A (zh) | 2021-03-16 | 2021-03-16 | 一种微服务开发方法、系统以及计算机设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115086412A true CN115086412A (zh) | 2022-09-20 |
Family
ID=83246348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110280004.XA Pending CN115086412A (zh) | 2021-03-16 | 2021-03-16 | 一种微服务开发方法、系统以及计算机设备和介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115086412A (zh) |
WO (1) | WO2022193979A1 (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107102847A (zh) * | 2016-02-23 | 2017-08-29 | 中国水电工程顾问集团有限公司 | 基于微服务的软件开发方法、装置及系统 |
CN110134455A (zh) * | 2019-04-12 | 2019-08-16 | 平安医疗健康管理股份有限公司 | 一种应用管理系统及方法 |
CN110636093A (zh) * | 2018-06-25 | 2019-12-31 | 中兴通讯股份有限公司 | 微服务注册和发现方法、设备、存储介质以及微服务系统 |
CN110647469A (zh) * | 2019-09-24 | 2020-01-03 | 广州荔支网络技术有限公司 | 一种微服务的测试方法、装置、计算机设备和存储介质 |
CN111490890A (zh) * | 2019-01-28 | 2020-08-04 | 珠海格力电器股份有限公司 | 基于微服务架构的分级注册方法、装置、存储介质及设备 |
CN111782520A (zh) * | 2020-06-29 | 2020-10-16 | 中国工商银行股份有限公司 | 测试方法、装置和电子设备 |
CN112463211A (zh) * | 2020-07-28 | 2021-03-09 | 上海汇招信息技术有限公司 | 一种兼容多种开发架构的系统架构改造方法及系统架构 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10574736B2 (en) * | 2017-01-09 | 2020-02-25 | International Business Machines Corporation | Local microservice development for remote deployment |
CN107979508B (zh) * | 2017-11-24 | 2020-08-04 | 深圳乐信软件技术有限公司 | 微服务测试方法及装置 |
US11194632B2 (en) * | 2019-06-18 | 2021-12-07 | Nutanix, Inc. | Deploying microservices into virtualized computing systems |
CN110324209B (zh) * | 2019-08-02 | 2020-10-09 | 泰康保险集团股份有限公司 | 微服务系统监控方法、装置、电子设备及计算机可读介质 |
CN111782519A (zh) * | 2020-06-29 | 2020-10-16 | 中国工商银行股份有限公司 | 测试方法、装置和电子设备 |
CN111782518A (zh) * | 2020-06-29 | 2020-10-16 | 中国工商银行股份有限公司 | 测试方法、装置和电子设备 |
-
2021
- 2021-03-16 CN CN202110280004.XA patent/CN115086412A/zh active Pending
-
2022
- 2022-03-07 WO PCT/CN2022/079551 patent/WO2022193979A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107102847A (zh) * | 2016-02-23 | 2017-08-29 | 中国水电工程顾问集团有限公司 | 基于微服务的软件开发方法、装置及系统 |
CN110636093A (zh) * | 2018-06-25 | 2019-12-31 | 中兴通讯股份有限公司 | 微服务注册和发现方法、设备、存储介质以及微服务系统 |
CN111490890A (zh) * | 2019-01-28 | 2020-08-04 | 珠海格力电器股份有限公司 | 基于微服务架构的分级注册方法、装置、存储介质及设备 |
CN110134455A (zh) * | 2019-04-12 | 2019-08-16 | 平安医疗健康管理股份有限公司 | 一种应用管理系统及方法 |
CN110647469A (zh) * | 2019-09-24 | 2020-01-03 | 广州荔支网络技术有限公司 | 一种微服务的测试方法、装置、计算机设备和存储介质 |
CN111782520A (zh) * | 2020-06-29 | 2020-10-16 | 中国工商银行股份有限公司 | 测试方法、装置和电子设备 |
CN112463211A (zh) * | 2020-07-28 | 2021-03-09 | 上海汇招信息技术有限公司 | 一种兼容多种开发架构的系统架构改造方法及系统架构 |
Also Published As
Publication number | Publication date |
---|---|
WO2022193979A1 (zh) | 2022-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107979508B (zh) | 微服务测试方法及装置 | |
US10452372B2 (en) | Method and deployment module for managing a container to be deployed on a software platform | |
CN107438107B (zh) | 一种微服务架构中后台服务的调用方法及装置 | |
US9916147B2 (en) | Deployment of a tool for testing migrated applications | |
US8677327B2 (en) | Service testing method and service testing system | |
US8132056B2 (en) | Dynamic functional testing coverage based on failure dependency graph | |
US8645766B2 (en) | Serialized error injection into a function under test | |
CN107273126B (zh) | 应用开发方法和装置 | |
CN111782519A (zh) | 测试方法、装置和电子设备 | |
KR102262395B1 (ko) | Nfv 시스템의 상호 운용성을 테스트하기 위한 테스트 장치 | |
US20220237111A1 (en) | Distributed immutable data object testing | |
US8677339B2 (en) | Component relinking in migrations | |
CN113434283B (zh) | 服务调度方法及装置、服务器、计算机可读存储介质 | |
CN114328097A (zh) | 一种文件监控方法、装置、电子设备和存储介质 | |
CN111782520A (zh) | 测试方法、装置和电子设备 | |
CN111782518A (zh) | 测试方法、装置和电子设备 | |
CN115086412A (zh) | 一种微服务开发方法、系统以及计算机设备和介质 | |
US10223238B1 (en) | Multiple-stage crash reporting | |
US11755665B2 (en) | Identification of a computer processing unit | |
CN112134922B (zh) | 一种基于微服务的服务调用方法、装置及存储介质 | |
Ellis | Emplacing New Tracing: Adding OpenTelemetry to Envoy | |
CN111324888B (zh) | 应用程序启动时的验证方法、装置、电子设备及存储介质 | |
US20240012672A1 (en) | Secure networking engine for a technical support management system | |
CN112748981B (zh) | 虚拟网络功能的软件镜像的处理方法和装置 | |
US20230305951A1 (en) | Systems and methods for continuous testing of microservice applications |
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 |