CN117271152B - 应用实例信息的注册和查询方法 - Google Patents
应用实例信息的注册和查询方法 Download PDFInfo
- Publication number
- CN117271152B CN117271152B CN202311129905.4A CN202311129905A CN117271152B CN 117271152 B CN117271152 B CN 117271152B CN 202311129905 A CN202311129905 A CN 202311129905A CN 117271152 B CN117271152 B CN 117271152B
- Authority
- CN
- China
- Prior art keywords
- information
- application instance
- client
- target
- message
- 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
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000003860 storage Methods 0.000 claims description 33
- 238000004519 manufacturing process Methods 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 9
- 230000001360 synchronised effect Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 230000003111 delayed effect Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 107
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000003032 molecular docking Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开提出一种应用实例信息的注册和查询方法,涉及互联网领域。其中,方法包括:响应于第一客户端所使用的目标应用实例启动,获取与目标应用实例关联的应用实例信息;根据应用实例信息中消息中间件的第一地址信息,获取协调服务的第二地址信息;将应用实例信息转换为结构化数据,并根据第二地址信息,将结构化数据注册至协调服务。由此,可以实现在客户端使用的应用实例启动时,将应用实例信息对应的结构化数据注册至协调服务中,从而管控端可以从协调服务中查询应用实例信息,以满足管控端的实际管理需求和查询需求,便于管控端实时查询与业务相关的核心参数,改善管控端侧的用户体验。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及一种应用实例信息的注册和查询方法。
背景技术
消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统,消息中间件可以解决应用耦合、异步消息、流量削锋、日志处理等问题。
目前,可以通过管控端(或称为管理端)对消息中间件进行管理,来实现消息中间件的部署、主题(Topic)创建、消息查询、流量监控等。
然而,管控端只能查询与消息中间件相关的信息,对于与消息中间件对接的应用实例,管控端无法查询与应用实例相关的应用实例信息,无法满足管控端的管理需求和查询需求。
发明内容
本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
本公开的一个方面提出一种应用实例信息的注册和查询方法,以实现在客户端使用的应用实例启动时,通过客户端将应用实例信息对应的结构化数据注册至协调服务中,从而管控端可以从协调服务中查询应用实例信息,以满足管控端的实际管理需求和查询需求,便于管控端实时查询与业务相关的核心参数,改善管控端侧的用户体验。
本公开第一方面实施例提出了一种应用实例信息的注册方法,应用于第一客户端,包括:
响应于所述第一客户端所使用的目标应用实例启动,获取与所述目标应用实例关联的应用实例信息;
根据所述应用实例信息中的第一地址信息,获取第二地址信息;其中,所述第一地址信息为消息中间件的地址信息,所述第二地址信息为用于对所述消息中间件进行管理和维护的协调服务的地址信息;
将所述应用实例信息转换为结构化数据,并根据所述第二地址信息,将所述结构化数据注册至所述协调服务;
其中,所述结构化数据用于管控端从所述协调服务中查询得到所述应用实例信息,所述管控端为用于对所述消息中间件进行管理和控制的客户端。
本公开第二方面实施例提出了一种应用实例信息的查询方法,应用于服务端,包括:
获取管控端发送的查询请求,其中,所述查询请求中携带消息中间件的标识信息,所述管控端是指对所述消息中间件进行管理和控制的客户端;
根据所述标识信息,获取与所述消息中间件绑定的协调服务的地址信息;其中,所述协调服务用于对所述消息中间件进行管理和维护;
根据所述地址信息,从所述协调服务中查询结构化数据;
对所述结构化数据进行解析,以得到应用实例信息,并向所述管控端发送携带所述应用实例信息的查询响应。
本公开第三方面实施例提出了一种应用实例信息的查询方法,应用于管控端,包括:
向服务端发送查询请求;其中,所述查询请求中携带消息中间件的标识信息;
接收所述服务端发送的携带应用实例信息的查询响应;
其中,所述应用实例信息是所述服务端根据所述标识信息,获取与所述消息中间件绑定的协调服务的地址信息,并根据所述地址信息,从所述协调服务中查询结构化数据,对所述结构化数据进行解析得到的。
本公开第四方面实施例提出了一种应用实例信息的注册装置,应用于第一客户端,包括:
第一获取模块,用于响应于所述第一客户端所使用的目标应用实例启动,获取与所述目标应用实例关联的应用实例信息;
第二获取模块,用于根据所述应用实例信息中的第一地址信息,获取第二地址信息;其中,所述第一地址信息为消息中间件的地址信息,所述第二地址信息为用于对所述消息中间件进行管理和维护的协调服务的地址信息;
转换模块,用于将所述应用实例信息转换为结构化数据;
注册模块,用于根据所述第二地址信息,将所述结构化数据注册至所述协调服务;
其中,所述结构化数据用于管控端从所述协调服务中查询得到所述应用实例信息,所述管控端为用于对所述消息中间件进行管理和控制的客户端。
本公开第五方面实施例提出了一种应用实例信息的查询装置,应用于服务端,包括:
第一获取模块,用于获取管控端发送的查询请求,其中,所述查询请求中携带消息中间件的标识信息,所述管控端是指对所述消息中间件进行管理和控制的客户端;
第二获取模块,用于根据所述标识信息,获取与所述消息中间件绑定的协调服务的地址信息;其中,所述协调服务用于对所述消息中间件进行管理和维护;
查询模块,用于根据所述地址信息,从所述协调服务中查询结构化数据;
解析模块,用于对所述结构化数据进行解析,以得到应用实例信息;
发送模块,用于向所述管控端发送携带所述应用实例信息的查询响应。
本公开第六方面实施例提出了一种应用实例信息的查询装置,应用于管控端,包括:
发送模块,用于向服务端发送查询请求;其中,所述查询请求中携带消息中间件的标识信息;
接收模块,用于接收所述服务端发送的携带应用实例信息的查询响应;
其中,所述应用实例信息是所述服务端根据所述标识信息,获取与所述消息中间件绑定的协调服务的地址信息,并根据所述地址信息,从所述协调服务中查询结构化数据,对所述结构化数据进行解析得到的。
本公开第七方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本公开第一方面实施例提出的应用实例信息的注册方法,或者,实现如本公开第二方面实施例提出的应用实例信息的查询方法,或者,实现如本公开第三方面实施例提出的应用实例信息的查询方法。
本公开第八方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开第一方面实施例提出的应用实例信息的注册方法,或者,实现如本公开第二方面实施例提出的应用实例信息的查询方法,或者,实现如本公开第三方面实施例提出的应用实例信息的查询方法。
本公开第九方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本公开第一方面实施例提出的应用实例信息的注册方法,或者,执行如本公开第二方面实施例提出的应用实例信息的查询方法,或者,执行如本公开第三方面实施例提出的应用实例信息的查询方法。
本公开上述实施例提供的技术方案至少带来以下几方面的有益效果:
第一方面,可以实现在客户端使用的应用实例启动时,通过客户端将应用实例信息对应的结构化数据注册至协调服务中,从而管控端可以从协调服务中查询应用实例信息,以满足管控端的实际管理需求和查询需求,便于管控端实时查询与业务相关的核心参数,改善管控端侧的用户体验;
第二方面,通过将应用实例信息对应的结构化数据写入协调服务中与目标应用实例对应的临时节点,由于该临时节点是在目标应用实例启动时创建,并在目标应用实例关闭时自动删除,可以实现在管控端查询应用实例信息时,仅查询当前正在使用消息中间件且处于启动状态的各个应用实例的相关信息,而不查询处于关闭状态的各个应用实例的相关信息,可以便于管控端获取与当前业务相关的核心参数,满足管控端的实际查询需求;
第三方面,第一客户端可以采用启动后的目标应用实例生产应用消息,并将应用消息发布至消息中间件的第一目标主题下,以使订阅该第一目标主题的其他客户端能够及时消费该应用消息,从而实现应用消息的生产、发布和及时消费;
第四方面,可以实现在应用消息的生产端所使用的目标应用实例启动后,由该生产端将应用实例信息及时注册至协调服务中,从而可以使得管控端及时获取生产端当前正在使用的目标应用实例的相关信息;
第五方面,可以实现由第一客户端根据自身的实际订阅需求,对第一客户端订阅或消费的主题信息进行及时更新和动态维护,满足第一客户端的实际消费需求;
第六方面,可以实现在应用消息的消费端所使用的目标应用实例启动后,由该消费端将应用实例信息及时注册至协调服务中,从而可以使得管控端及时获取消费端当前正在使用的目标应用实例的相关信息。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本公开实施例所提供的一种应用实例信息的注册方法流程示意图;
图2为本公开实施例所提供的另一种应用实例信息的注册方法的流程示意图;
图3为本公开实施例所提供的另一种应用实例信息的注册方法的流程示意图;
图4为本公开实施例所提供的另一种应用实例信息的注册方法的流程示意图;
图5为本公开实施例所提供的一种应用实例信息的查询方法的流程示意图;
图6为本公开实施例所提供的另一种应用实例信息的查询方法的流程示意图;
图7为本公开实施例所提供的应用实例信息的注册和查询流程示意图;
图8为本公开实施例所提供的应用实例信息的查询流程示意图;
图9为本公开实施例所提供的系统框架示意图;
图10为本公开实施例所提供的一种应用实例信息的注册装置的结构示意图;
图11为本公开实施例所提供的一种应用实例信息的查询装置的结构示意图;
图12为本公开实施例所提供的另一种应用实例信息的查询装置的结构示意图;
图13是本公开一示例性实施例所示出的电子设备的结构示意图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
消息中间件,也叫消息队列,它主要解决应用耦合、异步消息、流量削锋、日志处理等问题,它是类似于数据库一样需要独立部署在服务器上的一种应用,提供接口给其他系统调用。在现有平台中,通过管控端实现消息中间件的部署、主题创建、消息查询、流量监控等。
因为管控端只能直接管理消息中间件,而不能感知消息中间件对接的应用实例,因此管控端不具备查询应用实例信息的功能。
相关技术中,当管控端想要查询与消息中间件对接的应用实例关联的应用实例信息时,依赖于Kafka管理工具,只能查询到消费者的IP地址,而无法查询更为详细的信息。
针对上述存在的问题,本公开的一个方面提出了一种应用实例信息的注册和查询方法。
下面参考附图描述本公开实施例的应用实例信息的注册和查询方法。在具体描述本公开实施例之前,为了便于理解,首先对常用技术词进行介绍:
Kafka,是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者(或称为消费端)在网站中的所有动作流数据。
Broker(缓存代理),是指运行Kafka服务的服务器节点,其负责接收来自生产者(或称为生产端)的应用消息,并将这些应用消息存储在磁盘上,同时,其也负责将这些应用消息发送到消费者(或称为消费端)。Broker可以是一个单独的进程,也可以由多台服务器组成的集群。Kafka中的每个Broker都拥有一个唯一的ID(Identity,身份标识),ID是在Broker启动时生成的。
Producer,是指应用消息的生产者(或称为生产端)。
Consumer,是指应用消息的消费者(或称为消费端)。
ZooKeeper,是一个分布式的协调服务,可以管理和维护Kafka集群的元数据,包括Kafka Broker的信息,主题信息、消费组信息等。ZooKeeper提供了有序节点的特性,可以用于构建分布式的队列服务。
JSON(JavaScript Object Notation,JS对象简谱)格式,是一种轻量级的数据交换格式。JSON格式的数据具有简洁和清晰的层次结构,易于用户阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
IP,是指网际互连协议(Internet Protocol)的缩写。
Web,是指全球广域网或万维网(World Wide Web)的缩写。
MQTT,是消息队列遥测传输协议(Message Queuing Telemetry Transport)的简称,其是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议。
图1为本公开实施例所提供的一种应用实例信息的注册方法的流程示意图。
本公开实施例所提供的应用实例信息的注册方法,可以应用于第一客户端,其中,第一客户端可以为生产应用消息的客户端(或称为生产端),或者,第一客户端也可以为消费或使用应用消息的客户端(或称为消费端)。
其中,客户端可以为使用MQTT的程序或设备。其中,设备例如可以为个人电脑、移动终端、服务器等,移动终端例如可以为手机、平板电脑、个人数字助理、穿戴式设备、智能机器人等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
如图1所示,该应用实例信息的注册方法可以包括以下步骤:
步骤S101,响应于第一客户端所使用的目标应用实例启动,获取与目标应用实例关联的应用实例信息。
其中,目标应用实例可以部署在业务系统中,且,目标应用实例可以运行在一个或多个设备上。即,业务系统可以部署多个应用实例,每个应用实例可以运行在一个或多个设备上。
在本公开实施例中,在第一客户端所使用的应用实例(本公开中记为目标应用实例)启动时,第一客户端可以获取与该目标应用实例关联的应用实例信息。
步骤S102,根据应用实例信息中的第一地址信息,获取第二地址信息;其中,第一地址信息为消息中间件的地址信息,第二地址信息为用于对消息中间件进行管理和维护的协调服务的地址信息。
其中,协调服务(如Zookeeper)用于对消息中间件(如Kafka)进行管理和维护。
其中,应用实例信息中可以包括消息中间件(如Kafka)的地址信息(本公开中记为第一地址信息)。
在本公开实施例中,第一客户端可以根据消息中间件的第一地址信息,获取与消息中间件绑定的协调服务的第二地址信息。
步骤S103,将应用实例信息转换为结构化数据,并根据第二地址信息,将结构化数据注册至协调服务。
其中,管控端为用于对消息中间件进行管理和控制的客户端,结构化数据用于管控端从协调服务中查询得到应用实例信息。
在本公开实施例中,第一客户端可以将应用实例信息转换为结构化数据(如JSON格式的数据),并将结构化数据注册至协调服务中,以使管控端可以从协调服务中查询该结构化数据,并对结构化数据进行解析,得到应用实例信息。
本公开实施例的应用实例信息的注册方法,通过响应于第一客户端所使用的目标应用实例启动,获取与目标应用实例关联的应用实例信息;根据应用实例信息中的第一地址信息,获取第二地址信息;其中,第一地址信息为消息中间件的地址信息,第二地址信息为用于对消息中间件进行管理和维护的协调服务的地址信息;将应用实例信息转换为结构化数据,并根据第二地址信息,将结构化数据注册至协调服务。由此,可以实现在客户端使用的应用实例启动时,将应用实例信息对应的结构化数据注册至协调服务中,从而管控端可以从协调服务中查询应用实例信息,以满足管控端的实际管理需求和查询需求,便于管控端实时查询与业务相关的核心参数,改善管控端侧的用户体验。
为了清楚说明本公开任一实施例中是如何根据协调服务的第二地址信息,将结构化数据注册至协调服务的,本公开还提出一种应用实例信息的注册方法。
图2为本公开实施例所提供的另一种应用实例信息的注册方法的流程示意图。
如图2所示,该应用实例信息的注册方法可以包括以下步骤:
步骤S201,响应于第一客户端所使用的目标应用实例启动,获取与目标应用实例关联的应用实例信息。
步骤S202,根据应用实例信息中的第一地址信息,获取协调服务的第二地址信息。
其中,第一地址信息为消息中间件的地址信息,协调服务用于对消息中间件进行管理和维护。
步骤S203,将应用实例信息转换为结构化数据。
步骤S201至S203的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
步骤S204,根据第二地址信息,将结构化数据写入协调服务中与目标应用实例对应的临时节点。
在本公开实施例中,当目标应用实例启动时,该临时节点被创建,当目标应用实例关闭时,该临时节点被删除。
在本公开实施例中,第一客户端可以根据第二地址信息,将结构化数据写入协调服务中与目标应用实例对应的临时节点。
其中,结构化数据在临时节点上的存储路径,可以根据以下至少一项信息生成:
第一项,消息中间件的标识信息(如名称)。
第二项,应用实例信息中的IP地址;其中,IP地址为运行目标应用实例的设备的IP地址。
其中,当目标应用实例运行在一个设备上时,上述IP地址的数量可以为一个,当目标应用实例运行在多个设备上时,上述IP地址的数量可以为多个。
第三项,应用实例信息中的端口信息;其中,端口信息为目标应用实例占用的端口(如Web应用端口)的端口信息。
第四项,消息中间件的第一地址信息。
作为一种示例,以消息中间件为Kafka,第一客户端为生产应用消息的客户端(或称为生产端)进行示例,存储路径的形式可以为:/clusterName/dap_kafka_register/brokers_client/ip+port+kafka_address。
其中,clusterName是指Kafka的名称,dap_kafka_register是指Kafka固定存放目录的根目录,consumers_client是指客户端实例的固定目录(如第一客户端所使用的应用实例的固定目录),ip是指运行目标应用实例的设备的IP地址,port是指目标应用实例占用的端口的端口信息,kafka_address是指Kafka的地址信息。
作为另一种示例,以消息中间件为Kafka,第一客户端为使用或消费应用消息的客户端(或称为消费端)进行示例,存储路径的形式可以为:/clusterName/dap_kafka_register/consumers_client/ip+port+kafka_address。
其中,clusterName是指Kafka的名称,dap_kafka_register是指Kafka固定存放目录的根目录,consumers_client是指生产端,ip是指运行目标应用实例的设备的IP地址,port是指目标应用实例占用的端口的端口信息,kafka_address是指Kafka的地址信息。
本公开实施例的应用实例信息的注册方法,通过将应用实例信息对应的结构化数据写入协调服务中与目标应用实例对应的临时节点,由于该临时节点是在目标应用实例启动时创建,并在目标应用实例关闭时自动删除,可以实现在管控端查询应用实例信息时,仅查询当前正在使用消息中间件且处于启动状态的各个应用实例的相关信息,而不查询处于关闭状态的各个应用实例的相关信息,可以便于管控端获取与当前业务相关的核心参数,满足管控端的实际查询需求。
为了清楚说明上述实施例,本公开还提出一种应用实例信息的注册方法。
图3为本公开实施例所提供的另一种应用实例信息的注册方法的流程示意图。
如图3所示,该应用实例信息的注册方法可以包括以下步骤:
步骤S301,响应于第一客户端所使用的目标应用实例启动,获取与目标应用实例关联的应用实例信息,其中,第一客户端为使用目标应用实例生产应用消息的客户端。
在本公开实施例中,当第一客户端为生产应用消息的客户端(或称为生产端)时,与目标应用实例关联的应用实例信息可以用于指示以下至少一项:
第一项,部署目标应用实例的业务系统的标识信息(如名称)。
其中,消息中间件对接的业务系统中可以包括多个应用实例,每个应用实例可以运行在一个或多个设备上。
第二项,运行目标应用实例的设备的IP地址。
其中,当目标应用实例运行在一个设备上时,上述IP地址的数量可以为一个,当目标应用实例运行在多个设备上时,上述IP地址的数量可以为多个。
第三项,目标应用实例占用的端口(如Web应用端口)的端口信息。
第四项,第一客户端所生产的应用消息的发布方式是否为同步发布。
其中,发布方式(还可以称为发送方式)可以包括同步发布(或称为同步发送)和异步发布(或称为异步发送),其中,同步发布是指消息发送方在发送某一条消息后,只有在接收到消息接收方发送的反馈消息(如确认ACK消息)后,才发送下一条消息,异步发布是指消息接收方在发送某一条消息后,可以立即发送下一条消息,而无需等待消息接收方发送的反馈消息。
第五项,生产组信息;其中,生产组信息用于标识第一客户端所在的生产组,生产组中包括第一客户端和至少一个第二客户端,第二客户端也为生产应用消息的客户端。
比如,生产组信息可以为生产组的名称,其中,生产组中包括多个生产应用消息的客户端(或称为生产端)。
步骤S302,根据应用实例信息中的第一地址信息,获取第二地址信息。
其中,第一地址信息为消息中间件的地址信息,第二地址信息为用于对消息中间件进行管理和维护的协调服务的地址信息。
步骤S303,将应用实例信息转换为结构化数据,并根据第二地址信息,将结构化数据注册至协调服务。
其中,结构化数据用于管控端从协调服务中查询得到应用实例信息,管控端为用于对消息中间件进行管理和控制的客户端。
步骤S302至S303的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
在本公开的任意一个实施例之中,在目标应用实例启动后,第一客户端可以使用目标应用实例生产应用消息(本公开中记为第一应用消息),并将向消息中间件的第一目标主题下发布第一应用消息,以使订阅该第一目标主题的第三客户端获取该第一应用消息,并对第一应用消息进行处理。
其中,第三客户端为使用或消费第一应用消息的客户端(或称为消费端)。
由此,第一客户端可以采用启动后的目标应用实例生产应用消息,并将应用消息发布至消息中间件的第一目标主题下,以使订阅该第一目标主题的其他客户端能够及时消费该应用消息,从而实现应用消息的生产、发布和及时消费。
本公开实施例的应用实例信息的注册方法,可以实现在应用消息的生产端所使用的目标应用实例启动后,由该生产端将应用实例信息及时注册至协调服务中,从而可以使得管控端及时获取生产端当前正在使用的目标应用实例的相关信息。
为了清楚说明上述实施例,本公开还提出一种应用实例信息的注册方法。
图4为本公开实施例所提供的另一种应用实例信息的注册方法的流程示意图。
如图4所示,该应用实例信息的注册方法可以包括以下步骤:
步骤S401,响应于第一客户端所使用的目标应用实例启动,获取与目标应用实例关联的应用实例信息,其中,第一客户端为使用目标应用实例消费应用消息的客户端。
在本公开实施例中,当第一客户端为使用或消费应用消息的客户端(或称为消费端)时,与目标应用实例关联的应用实例信息可以用于指示以下至少一项:
第一项,部署目标应用实例的业务系统的标识信息(如名称)。
其中,消息中间件对接的业务系统中可以包括多个应用实例,每个应用实例可以运行在多个设备上。
第二项,运行目标应用实例的设备的IP地址。
其中,当目标应用实例运行在一个设备上时,上述IP地址的数量可以为一个,当目标应用实例运行在多个设备上时,上述IP地址的数量可以为多个。
第三项,目标应用实例占用的端口(如Web应用端口)的端口信息。
第四项,第一客户端订阅或消费的主题信息。
其中,主题信息中可以包括第一客户端订阅或消费的至少一个主题(Topic)。
第五项,第一客户端的消费模式是否为广播消费。
其中,消费模式包括广播消费和一对一消费。
第六项,第一客户端的消费方式是否为延时消费。
其中,消费方式包括延时消费和实时消费。
第七项,消费组信息;其中,消费组信息用于标识第一客户端所在的消费组,消费组中包括第一客户端和至少一个第四客户端,第四客户端也为消费应用消息的客户端。
比如,消费组信息可以为消费组的名称,其中,消费组中包括多个使用或消费应用消息的客户端(或称为消费端)。
第八项,第一客户端所使用的消费类方法信息。
其中,消费类方法信息包括与至少一个消费类方法相关的信息,消费类方法用于消费消息中间件中的应用消息。
第九项,ACL(Authorized Component List,授权成员表)鉴权信息。
其中,可以根据ACL鉴权信息,创建Producer及Consumer。
步骤S402,根据应用实例信息中的第一地址信息,获取第二地址信息。
其中,第一地址信息为消息中间件的地址信息,第二地址信息为用于对消息中间件进行管理和维护的协调服务的地址信息。
步骤S403,将应用实例信息转换为结构化数据,并根据第二地址信息,将结构化数据注册至协调服务。
其中,结构化数据用于管控端从协调服务中查询得到应用实例信息,管控端为用于对消息中间件进行管理和控制的客户端。
步骤S402至S403的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
在本公开的任意一个实施例之中,在目标应用实例启动后,第一客户端可以使用目标应用实例,获取消息中间件的第二目标主题下的第二应用消息,并对第二应用消息进行处理。
其中,第二目标主题为第一客户端订阅的主题,第二目标主题位于上述主题信息中。
由此,第一客户端可以采用启动后的目标应用实例消费应用消息,以实现应用消息的及时消费。
本公开的任意一个实施例之中,第一客户端还可以取消对消息中间件中第二目标主题的订阅,以拒绝获取第二目标主题下的应用消息。
作为一种示例,第一客户端可以获取第一配置指令,其中,第一配置指令用于取消对第二目标主题的订阅,并响应于第一配置指令,取消对消息中间件中第二目标主题的订阅,以拒绝获取第二目标主题下的应用消息。
本公开的任意一个实施例之中,第一客户端还可以新增对消息中间件中第三目标主题的订阅,以获取消息中间件的第三目标主题下的应用消息。
作为一种示例,第一客户端可以获取第二配置指令,其中,第二配置指令用于新增对第三目标主题的订阅,并响应于第二配置指令,订阅消息中间件中的第三目标主题,以获取消息中间件的第三目标主题下的第三应用消息。
综上,可以实现由第一客户端根据自身的实际订阅需求,对第一客户端订阅或消费的主题信息进行及时更新和动态维护,满足第一客户端的实际消费需求。
本公开实施例的应用实例信息的注册方法,可以实现在应用消息的消费端所使用的目标应用实例启动后,由该消费端将应用实例信息及时注册至协调服务中,从而可以使得管控端及时获取消费端当前正在使用的目标应用实例的相关信息。
上述图1至图4所示的实施例为第一客户端执行的方法实施例,本公开还提出一种由服务端执行的方法实施例。
图5为本公开实施例所提供的一种应用实例信息的查询方法的流程示意图。
本公开实施例所提供的应用实例信息的查询方法,可以应用于服务端。
如图5所示,该应用实例信息的查询方法可以包括以下步骤:
步骤S501,获取管控端发送的查询请求,其中,查询请求中携带消息中间件的标识信息。
其中,管控端是指对消息中间件进行管理和控制的客户端。
在本公开实施例中,当管控端想要查询与消息中间件对接的应用实例关联的应用实例信息时,管控端可以向服务端发送查询请求,其中,查询请求中携带消息中间件的标识信息(如名称)。
步骤S502,根据标识信息,获取与消息中间件绑定的协调服务的地址信息。
其中,协调服务用于对消息中间件进行管理和维护。
在本公开实施例中,服务端在接收到查询请求后,可以响应于该查询请求,根据消息中间件的标识信息,获取与消息中间件绑定的协调服务的地址信息(上述实施例中称为第二地址信息)。
步骤S503,根据地址信息,从协调服务中查询结构化数据。
在本公开实施例中,服务器可以根据协调服务的地址信息,从协调服务中查询结构化数据。
在本公开的任意一个实施例之中,结构化数据的查询方式,例如可以为:服务器根据协调服务的地址信息,访问协调服务的至少一个临时节点,并从至少一个临时节点的存储路径中,确定与消息中间件的标识信息(如名称)匹配的目标存储路径,并获取目标存储路径下的结构化数据。
也就是说,服务端可以获取与消息中间件的标识信息匹配的所有的存储路径,并获取与消息中间件的标识信息匹配的所有的存储路径下的结构化数据。即,服务端可以获取与消息中间件对接且当前处于启动状态的所有的应用实例关联的应用实例信息,即获取与当前正在使用该消息中间件的各个应用实例关联的应用实例信息。
步骤S504,对结构化数据进行解析,以得到应用实例信息,并向管控端发送携带应用实例信息的查询响应。
在本公开实施例中,服务端可以对结构化数据进行解析,以得到应用实例信息,并向管控端发送携带应用实例信息的查询响应。
本公开实施例的应用实例信息的查询方法,通过获取管控端发送的查询请求,其中,查询请求中携带消息中间件的标识信息;根据标识信息,获取与消息中间件绑定的协调服务的地址信息;根据地址信息,从协调服务中查询结构化数据;对结构化数据进行解析,以得到应用实例信息,并向管控端发送携带应用实例信息的查询响应。由此,管控端可以实现从协调服务中查询应用实例信息,以满足管控端的实际管理需求和查询需求,便于管控端实时查询与业务相关的核心参数,改善管控端侧的用户体验。
上述为第一客户端或服务端执行的方法实施例,本公开还提出一种由管控端执行的方法实施例。
图6为本公开实施例所提供的另一种应用实例信息的查询方法的流程示意图。
本公开实施例所提供的应用实例信息的查询方法,可以应用于管控端,其中,管控端为用于对消息中间件进行管理和控制的客户端。
如图6所示,该应用实例信息的查询方法还可以包括以下步骤:
步骤S601,向服务端发送查询请求;其中,查询请求中携带消息中间件的标识信息。
在本公开实施例中,当管控端想要查询与消息中间件对接的应用实例关联的应用实例信息时,管控端可以向服务端发送查询请求,其中,查询请求中携带消息中间件的标识信息(如名称)。
步骤S602,接收服务端发送的携带应用实例信息的查询响应。
其中,应用实例信息是服务端根据标识信息,获取与消息中间件绑定的协调服务的地址信息,并根据地址信息,从协调服务中查询结构化数据,对结构化数据进行解析得到的。
在本公开实施例中,服务端在接收到查询请求后,可以响应于该查询请求,根据消息中间件的标识信息,获取与消息中间件绑定的协调服务的地址信息(上述实施例中称为第二地址信息)。
接着,服务器可以根据协调服务的地址信息,从协调服务中查询结构化数据,并对结构化数据进行解析,以得到应用实例信息。之后,服务端可以向管控端发送携带应用实例信息的查询响应,相应的,管控端可以获取服务端发送的查询响应。
本公开实施例的应用实例信息的查询方法,通过向服务端发送查询请求;其中,查询请求中携带消息中间件的标识信息;接收服务端发送的携带应用实例信息的查询响应,其中,应用实例信息是服务端根据标识信息,获取与消息中间件绑定的协调服务的地址信息,并根据地址信息,从协调服务中查询结构化数据,对结构化数据进行解析得到的。由此,管控端可以实现从协调服务中查询应用实例信息,以满足管控端的实际管理需求和查询需求,便于管控端实时查询与业务相关的核心参数,改善管控端侧的用户体验。
在本公开的任意一个实施例之中,以消息中间件为Kafka,协调服务为Zookeeper进行示例性说明,在应用实例启动时,可以通过客户端的SDK自动将应用实例信息注册到Kafka集群对应的Zookeeper中的临时节点上。
其中,客户端可以为使用MQTT的程序或设备,客户端可以执行以下操作:发布应用消息给其它相关的客户端;订阅以请求接收相关的应用消息;取消订阅以移除接收应用消息的请求;从服务端断开连接。客户端包括生产端和消费端。
当客户端为生产端时,应用实例信息还可以称为生产者参数或生产回执信息,包括以下至少一项:对接Kafka的业务系统名称、运行应用实例的设备的IP地址、应用实例占用的Web应用端口的端口信息、生产组信息、应用消息的发布方式是否为同步发布、Kafka地址(或Kafka Broker地址,该地址用于链接Kafka集群)。
其中,当客户端为消费端时,应用实例信息还可以称为消费者参数或消费回执信息,包括以下至少一项:对接Kafka的业务系统名称、运行应用实例的设备的IP地址、应用实例占用的Web应用端口的端口信息、消费的主题信息、消费组信息、消费类方法信息、消费模式是否为广播消费、消费方式是否为延时消费、Kafka地址(或Kafka Broker地址,该地址用于链接Kafka集群)、ACL鉴权信息。
作为一种示例,应用实例信息的注册流程可以如图7所示,具体地,当客户端为生产端时,生产端可以在使用的应用实例启动时,获取与应用实例关联的应用实例信息,并从应用实例信息中提取Kafka地址,并通过AdminClient工具类根据Kafka地址获取Zookeeper(简称ZK)地址,之后,可以使用JSON方式拼接应用实例信息,得到结构化数据,并将结构化数据写入Zookeeper中的临时节点,其中,结构化数据在临时节点中的存储路径的形式为:/clusterName/dap_kafka_register/brokers_client/ip+port+kafka_address。
而当客户端为消费端时,消费端可以在使用的应用实例启动时,获取与应用实例关联的应用实例信息,并从应用实例信息中提取Kafka地址,并通过AdminClient工具类根据Kafka地址获取Zookeeper(简称ZK)地址,之后,拼接应用实例信息,组装成JSON格式的结构化数据,并将结构化数据写入Zookeeper中的临时节点,其中,结构化数据在临时节点中的存储路径的形式为:/clusterName/dap_kafka_register/consumers_client/ip+port+kafka_address。
作为一种示例,应用实例信息的查询流程可以如图8所示,具体地,管控端可以选择所需查询的Kafka集群,并将Kafka集群的集群信息(如名称)传入服务端,服务端根据集群信息,获取与Kafka集群绑定的Zookeeper的地址信息(简称为ZK地址),并根据ZK地址,查询Zookeeper下生产端和消费端的子节点,以根据子节点解析应用实例信息。
即,可以查询Zookeeper的各临时节点,并从各临时节点的存储路径中,确定与集群信息匹配的所有的存储路径,并获取各存储路径下的结构化数据,并对结构化数据进行解析,得到各个应用示例信息。
其中,生产端、消费端、管控端、Zookeeper和Kafka之间的交互可以如图9所示。
本公开所提供的应用实例信息的注册和查询方法,至少具有以下优点:
1、管控端不仅可以查询与Kafka相关的信息,还可以实时监控与Kafka对接的应用实例相关的应用实例信息。
2、在业务系统和管控端中集成消息组件只需填写Kafka地址,但是Kafka自身又依赖Zookeeper,Kafka自身不能存储应用实例信息并解析,此时,可以利用Zookeeper的数据存储能力,并且业务系统无需关注Zookeeper地址,通过管理工具类根据Kafka地址获取Zookeeper地址,然后根据Zookeeper地址,将应用实例信息写入Zookeeper即可。
3、应用实例对接到Kafka,应用实例的一些核心配置信息可以回传到管控端,方便运维。
4、管理端可实时查询与业务相关的核心参数。
与上述图1-图4实施例提供的应用实例信息的注册方法相对应,本公开还提供一种应用实例信息的注册装置,由于本公开实施例提供的应用实例信息的注册装置与上述图1-图4实施例提供的应用实例信息的注册方法相对应,因此在应用实例信息的注册方法的实施方式也适用于本公开实施例提供的应用实例信息的注册装置,在本公开实施例中不再详细描述。
图10为本公开实施例所提供的一种应用实例信息的注册装置的结构示意图。
如图10所示,该应用实例信息的注册装置1000可以应用于第一客户端,包括:第一获取模块1001、第二获取模块1002、转换模块1003以及注册模块1004。
其中,第一获取模块1001,用于响应于第一客户端所使用的目标应用实例启动,获取与目标应用实例关联的应用实例信息。
第二获取模块1002,用于根据应用实例信息中的第一地址信息,获取第二地址信息;其中,第一地址信息为消息中间件的地址信息,第二地址信息为用于对消息中间件进行管理和维护的协调服务的地址信息。
转换模块1003,用于将应用实例信息转换为结构化数据。
注册模块1004,用于根据第二地址信息,将结构化数据注册至协调服务;其中,结构化数据用于管控端从协调服务中查询得到应用实例信息,管控端为用于对消息中间件进行管理和控制的客户端。
作为一种可能的实现方式,注册模块1004,具体用于:根据第二地址信息,将结构化数据写入协调服务中与目标应用实例对应的临时节点;其中,结构化数据在临时节点上的存储路径根据以下至少一项信息生成:消息中间件的标识信息;应用实例信息中的IP地址;其中,IP地址为运行目标应用实例的设备的IP地址;应用实例信息中的端口信息;其中,端口信息为目标应用实例占用的端口的端口信息;第一地址信息。
作为一种可能的实现方式,第一客户端为使用目标应用实例生产应用消息的客户端,应用实例信息用于指示以下至少一项:部署目标应用实例的业务系统的标识信息;运行目标应用实例的设备的IP地址;目标应用实例占用的端口的端口信息;第一客户端所生产的应用消息的发布方式是否为同步发布;生产组信息;其中,生产组信息用于标识第一客户端所在的生产组,生产组中包括第一客户端和至少一个第二客户端,第二客户端也为生产应用消息的客户端。
作为一种可能的实现方式,该应用实例信息的注册装置1200还可以包括:
生产模块,用于基于目标应用实例,生产第一应用消息。
发布模块,用于向消息中间件的第一目标主题下发布第一应用消息;其中,第一应用消息用于订阅第一目标主题的第三客户端获取第一应用消息,并对第一应用消息进行处理;其中,第三客户端为消费第一应用消息的客户端。
作为一种可能的实现方式,第一客户端为使用目标应用实例消费应用消息的客户端,应用实例信息用于指示至少一项:部署目标应用实例的业务系统的标识信息;运行目标应用实例的设备的IP地址;目标应用实例占用的端口的端口信息;第一客户端订阅或消费的主题信息;第一客户端的消费模式是否为广播消费;第一客户端的消费方式是否为延时消费;消费组信息;其中,消费组信息用于标识第一客户端所在的消费组,消费组中包括第一客户端和至少一个第四客户端,第四客户端也为消费应用消息的客户端;第一客户端所使用的消费类方法信息;其中,消费类方法信息用于消费消息中间件中的应用消息。
作为一种可能的实现方式,该应用实例信息的注册装置1200还可以包括:
第三获取模块,用于基于目标应用实例,获取消息中间件的第二目标主题下的第二应用消息;其中,第二目标主题为第一客户端订阅的主题,第二目标主题位于主题信息中;
处理模块,用于对第二应用消息进行处理。
作为一种可能的实现方式,该应用实例信息的注册装置1200还可以包括:
第四获取模块,用于获取第一配置指令,其中,第一配置指令用于取消对第二目标主题的订阅;
取消模块,用于响应于第一配置指令,取消对消息中间件中第二目标主题的订阅,以拒绝获取第二目标主题下的应用消息;
或者,
第五获取模块,用于获取第二配置指令,其中,第二配置指令用于新增对第三目标主题的订阅;
订阅模块,用于响应于第二配置指令,订阅消息中间件中的第三目标主题,以获取消息中间件的第三目标主题下的第三应用消息。
本公开实施例的应用实例信息的注册装置,通过响应于第一客户端所使用的目标应用实例启动,获取与目标应用实例关联的应用实例信息;根据应用实例信息中的第一地址信息,获取第二地址信息;其中,第一地址信息为消息中间件的地址信息,第二地址信息为用于对消息中间件进行管理和维护的协调服务的地址信息;将应用实例信息转换为结构化数据,并根据第二地址信息,将结构化数据注册至协调服务。由此,可以实现在客户端使用的应用实例启动时,将应用实例信息对应的结构化数据注册至协调服务中,从而管控端可以从协调服务中查询应用实例信息,以满足管控端的实际管理需求和查询需求,便于管控端实时查询与业务相关的核心参数,改善管控端侧的用户体验。
与上述图5实施例提供的应用实例信息的查询方法相对应,本公开还提供一种应用实例信息的查询装置,由于本公开实施例提供的应用实例信息的查询装置与上述图5实施例提供的应用实例信息的查询方法相对应,因此在应用实例信息的查询方法的实施方式也适用于本公开实施例提供的应用实例信息的查询装置,在本公开实施例中不再详细描述。
图11为本公开实施例所提供的一种应用实例信息的查询装置的结构示意图。
如图11所示,该应用实例信息的查询装置1100可以应用于服务端,包括:第一获取模块1101、第二获取模块1102、查询模块1103、解析模块1104以及发送模块1005。
其中,第一获取模块1101,用于获取管控端发送的查询请求,其中,查询请求中携带消息中间件的标识信息,管控端是指对消息中间件进行管理和控制的客户端。
第二获取模块1102,用于根据标识信息,获取与消息中间件绑定的协调服务的地址信息;其中,协调服务用于对消息中间件进行管理和维护。
查询模块1103,用于根据地址信息,从协调服务中查询结构化数据。
解析模块1104,用于对结构化数据进行解析,以得到应用实例信息。
发送模块1105,用于向管控端发送携带应用实例信息的查询响应。
作为一种可能的实现方式,查询模块1103,具体用于:根据地址信息,访问协调服务的至少一个临时节点,以从至少一个临时节点的存储路径中,确定与标识信息匹配的目标存储路径,并获取目标存储路径下的结构化数据。
本公开实施例的应用实例信息的查询装置,通过获取管控端发送的查询请求,其中,查询请求中携带消息中间件的标识信息;根据标识信息,获取与消息中间件绑定的协调服务的地址信息;根据地址信息,从协调服务中查询结构化数据;对结构化数据进行解析,以得到应用实例信息,并向管控端发送携带应用实例信息的查询响应。由此,管控端可以实现从协调服务中查询应用实例信息,以满足管控端的实际管理需求和查询需求,便于管控端实时查询与业务相关的核心参数,改善管控端侧的用户体验。
与上述图6实施例提供的应用实例信息的查询方法相对应,本公开还提供一种应用实例信息的查询装置,由于本公开实施例提供的应用实例信息的查询装置与上述图6实施例提供的应用实例信息的查询方法相对应,因此在应用实例信息的查询方法的实施方式也适用于本公开实施例提供的应用实例信息的查询装置,在本公开实施例中不再详细描述。
图12为本公开实施例所提供的另一种应用实例信息的查询装置的结构示意图。
如图12所示,该应用实例信息的查询装置1200可以应用于管控端,其中,所述管控端为用于对所述消息中间件进行管理和控制的客户端,包括:发送模块1201和接收模块1202。
其中,发送模块1201,用于向服务端发送查询请求;其中,所述查询请求中携带消息中间件的标识信息。
接收模块1202,用于接收所述服务端发送的携带应用实例信息的查询响应;其中,所述应用实例信息是所述服务端根据所述标识信息,获取与所述消息中间件绑定的协调服务的地址信息,并根据所述地址信息,从所述协调服务中查询结构化数据,对所述结构化数据进行解析得到的。
本公开实施例的应用实例信息的查询装置,通过向服务端发送查询请求;其中,查询请求中携带消息中间件的标识信息;接收服务端发送的携带应用实例信息的查询响应,其中,应用实例信息是服务端根据标识信息,获取与消息中间件绑定的协调服务的地址信息,并根据地址信息,从协调服务中查询结构化数据,对结构化数据进行解析得到的。由此,管控端可以实现从协调服务中查询应用实例信息,以满足管控端的实际管理需求和查询需求,便于管控端实时查询与业务相关的核心参数,改善管控端侧的用户体验。
为了实现上述实施例,本公开还提出一种电子设备,其中,电子设备可以为任一具有计算能力的设备,该电子设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本公开前述任一实施例提出的应用实例信息的注册方法或应用实例信息的查询方法。
作为一种示例,图13是本公开一示例性实施例所示出的电子设备1300的结构示意图,如图13所示,上述电子设备1300,还可以包括:
存储器1310及处理器1320,连接不同组件(包括存储器1310和处理器1320)的总线1330,存储器1310存储有计算机程序,当处理器1320执行所述程序时实现本公开实施例所述的应用实例信息的注册方法或应用实例信息的查询方法。
总线1330表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备1300典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备1300访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器1310还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)1340和/或高速缓存存储器1350。服务器1300可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统1360可以用于读写不可移动的、非易失性磁介质(图13未显示,通常称为“硬盘驱动器”)。尽管图13中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线1330相连。存储器1310可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块1370的程序/实用工具1380,可以存储在例如存储器1310中,这样的程序模块1370包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块1370通常执行本公开所描述的实施例中的功能和/或方法。
电子设备1300也可以与一个或多个外部设备1390(例如键盘、指向设备、显示器1391等)通信,还可与一个或者多个使得用户能与该电子设备1300交互的设备通信,和/或与使得该电子设备1300能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1392进行。并且,电子设备1300还可以通过网络适配器1393与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1393通过总线1330与电子设备1300的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器1320通过运行存储在存储器1310中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的电子设备的实施过程和技术原理参见前述对本公开实施例的应用实例信息的注册方法或应用实例信息的查询方法的解释说明,此处不再赘述。
为了实现上述实施例,本公开还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开前述任一实施例提出的应用实例信息的注册方法或应用实例信息的查询方法。
为了实现上述实施例,本公开还提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本公开前述任一实施例提出的应用实例信息的注册方法或应用实例信息的查询方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (8)
1.一种应用实例信息的注册方法,其特征在于,应用于第一客户端,包括:
响应于所述第一客户端所使用的目标应用实例启动,获取与所述目标应用实例关联的应用实例信息;
根据所述应用实例信息中的第一地址信息,获取第二地址信息;其中,所述第一地址信息为消息中间件的地址信息,所述第二地址信息为用于对所述消息中间件进行管理和维护的协调服务的地址信息;
将所述应用实例信息转换为结构化数据,并根据所述第二地址信息,将所述结构化数据注册至所述协调服务;
其中,所述结构化数据用于管控端从所述协调服务中查询得到所述应用实例信息,所述管控端为用于对所述消息中间件进行管理和控制的客户端;
所述根据所述第二地址信息,将所述结构化数据注册至所述协调服务,包括:
根据所述第二地址信息,将所述结构化数据写入所述协调服务中与所述目标应用实例对应的临时节点;
其中,所述结构化数据在所述临时节点上的存储路径根据以下至少一项信息生成:
所述消息中间件的标识信息;
所述应用实例信息中的IP地址;其中,所述IP地址为运行所述目标应用实例的设备的IP地址;
所述应用实例信息中的端口信息;其中,所述端口信息为所述目标应用实例占用的端口的端口信息;
所述第一地址信息。
2.根据权利要求1所述的方法,其特征在于,所述第一客户端为使用所述目标应用实例生产应用消息的客户端,所述应用实例信息用于指示以下至少一项:
部署所述目标应用实例的业务系统的标识信息;
运行所述目标应用实例的设备的IP地址;
所述目标应用实例占用的端口的端口信息;
所述第一客户端所生产的应用消息的发布方式是否为同步发布;
生产组信息;其中,所述生产组信息用于标识所述第一客户端所在的生产组,所述生产组中包括所述第一客户端和至少一个第二客户端,所述第二客户端也为生产应用消息的客户端。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述目标应用实例,生产第一应用消息;
向所述消息中间件的第一目标主题下发布第一应用消息;
其中,所述第一应用消息用于订阅所述第一目标主题的第三客户端获取所述第一应用消息,并对所述第一应用消息进行处理;
其中,所述第三客户端为消费所述第一应用消息的客户端。
4.根据权利要求1所述的方法,其特征在于,所述第一客户端为使用所述目标应用实例消费应用消息的客户端,所述应用实例信息用于指示至少一项:
部署所述目标应用实例的业务系统的标识信息;
运行所述目标应用实例的设备的IP地址;
所述目标应用实例占用的端口的端口信息;
所述第一客户端订阅或消费的主题信息;
所述第一客户端的消费模式是否为广播消费;
所述第一客户端的消费方式是否为延时消费;
消费组信息;其中,所述消费组信息用于标识所述第一客户端所在的消费组,所述消费组中包括所述第一客户端和至少一个第四客户端,所述第四客户端也为消费应用消息的客户端;
所述第一客户端所使用的消费类方法信息;其中,所述消费类方法信息用于消费所述消息中间件中的应用消息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
基于所述目标应用实例,获取所述消息中间件的第二目标主题下的第二应用消息;其中,所述第二目标主题为所述第一客户端订阅的主题,所述第二目标主题位于所述主题信息中;
对所述第二应用消息进行处理。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取第一配置指令,其中,第一配置指令用于取消对所述第二目标主题的订阅;
响应于第一配置指令,取消对所述消息中间件中所述第二目标主题的订阅,以拒绝获取所述第二目标主题下的应用消息;
或者,
获取第二配置指令,其中,第二配置指令用于新增对第三目标主题的订阅;
响应于第二配置指令,订阅所述消息中间件中的所述第三目标主题,以获取所述消息中间件的第三目标主题下的第三应用消息。
7.一种应用实例信息的查询方法,其特征在于,应用于服务端,包括:
获取管控端发送的查询请求,其中,所述查询请求中携带消息中间件的标识信息,所述管控端是指对所述消息中间件进行管理和控制的客户端;
根据所述标识信息,获取与所述消息中间件绑定的协调服务的地址信息;其中,所述协调服务用于对所述消息中间件进行管理和维护;
根据所述地址信息,从所述协调服务中查询结构化数据;
对所述结构化数据进行解析,以得到应用实例信息,并向所述管控端发送携带所述应用实例信息的查询响应;
所述根据所述地址信息,从所述协调服务中查询结构化数据,包括:
根据所述地址信息,访问所述协调服务的至少一个临时节点,以从所述至少一个临时节点的存储路径中,确定与所述标识信息匹配的目标存储路径,并获取所述目标存储路径下的结构化数据。
8.一种应用实例信息的查询方法,其特征在于,应用于管控端,所述管控端为用于对消息中间件进行管理和控制的客户端,包括:
向服务端发送查询请求;其中,所述查询请求中携带消息中间件的标识信息;
接收所述服务端发送的携带应用实例信息的查询响应;
其中,所述应用实例信息是所述服务端根据所述标识信息,获取与所述消息中间件绑定的协调服务的地址信息,并根据所述地址信息,从所述协调服务中查询结构化数据,对所述结构化数据进行解析得到的;
所述根据所述地址信息,从所述协调服务中查询结构化数据,包括:
根据所述地址信息,访问所述协调服务的至少一个临时节点,以从所述至少一个临时节点的存储路径中,确定与所述标识信息匹配的目标存储路径,并获取所述目标存储路径下的结构化数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311129905.4A CN117271152B (zh) | 2023-09-04 | 2023-09-04 | 应用实例信息的注册和查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311129905.4A CN117271152B (zh) | 2023-09-04 | 2023-09-04 | 应用实例信息的注册和查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117271152A CN117271152A (zh) | 2023-12-22 |
CN117271152B true CN117271152B (zh) | 2024-07-26 |
Family
ID=89199935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311129905.4A Active CN117271152B (zh) | 2023-09-04 | 2023-09-04 | 应用实例信息的注册和查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117271152B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599043A (zh) * | 2016-11-09 | 2017-04-26 | 中国科学院计算技术研究所 | 用于多级数据库的中间件和多级数据库系统 |
CN108595316A (zh) * | 2018-04-20 | 2018-09-28 | 星环信息科技(上海)有限公司 | 分布式应用的生命周期管理方法、管理器、设备和介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9935907B2 (en) * | 2012-11-20 | 2018-04-03 | Dropbox, Inc. | System and method for serving a message client |
CN109257435B (zh) * | 2018-10-22 | 2021-03-23 | 中国银行股份有限公司 | 基于消息中间件的多实例多子系统应用的通信系统 |
CN113411362B (zh) * | 2020-03-16 | 2024-05-14 | 阿里巴巴集团控股有限公司 | 应用实例的控制方法、装置及设备 |
CN116016473A (zh) * | 2021-10-19 | 2023-04-25 | 中国移动通信集团云南有限公司 | 实例信息获取方法和系统 |
CN114827171B (zh) * | 2022-03-23 | 2023-12-15 | 青岛中科曙光科技服务有限公司 | 信息同步方法、装置、计算机设备和存储介质 |
CN115309457B (zh) * | 2022-08-10 | 2023-10-27 | 中电金信软件有限公司 | 应用实例的重启方法、装置、电子设备及可读存储介质 |
CN116302561A (zh) * | 2023-04-14 | 2023-06-23 | 中国工商银行股份有限公司 | 用于应用实例的状态控制方法、装置、设备及存储介质 |
-
2023
- 2023-09-04 CN CN202311129905.4A patent/CN117271152B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599043A (zh) * | 2016-11-09 | 2017-04-26 | 中国科学院计算技术研究所 | 用于多级数据库的中间件和多级数据库系统 |
CN108595316A (zh) * | 2018-04-20 | 2018-09-28 | 星环信息科技(上海)有限公司 | 分布式应用的生命周期管理方法、管理器、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117271152A (zh) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7739367B2 (en) | Managing network-enabled devices | |
US10523612B2 (en) | Message history display system and method | |
US8935708B2 (en) | Communication system and communication apparatus and control method thereof | |
CN111711663A (zh) | 发布及订阅服务的处理方法、装置及电子设备 | |
CN101622587B (zh) | 用于唤醒计算设备的集中式服务 | |
US10673969B2 (en) | Scalable data feed system | |
US20100057835A1 (en) | Information on availability of services provided by publish-subscribe service | |
JP2010231759A (ja) | モバイルクラウドプラットホームを具備したモバイル端末装置 | |
CN102724327B (zh) | 用于浏览器的实时网页浏览服务提供系统和方法 | |
CN102763373A (zh) | 基于远程访问使用本地网络装置的服务的方法和设备 | |
CN110505315A (zh) | 数据处理方法、装置、设备及存储介质 | |
US11711285B2 (en) | Method, apparatus, electronic device and readable storage medium for adjusting instance number | |
JP5558681B2 (ja) | デバイス検索装置、デバイス検索装置の制御方法、及びコンピュータプログラム | |
CN106899605B (zh) | 基于stomp协议的通信方法和装置 | |
JPWO2009013789A1 (ja) | コミュニティ生成支援システム、コミュニティ生成支援方法およびそのプログラム。 | |
KR20160110585A (ko) | 사물 인터넷에서 dds 기반 사물 품질의 설정 방법 | |
US8488762B2 (en) | Program-specific presence | |
KR20180031852A (ko) | Mqtt 프로토콜 연동을 위한 어댑터 및 그를 이용한 데이터 교환 시스템 | |
CN117271152B (zh) | 应用实例信息的注册和查询方法 | |
CN112650653A (zh) | 一种设备即插即用与可视化运维系统及方法 | |
JP2005322222A (ja) | 通信機能付加方法、プログラム、記録媒体及び通信装置 | |
US20130218955A1 (en) | System and method for providing a virtual collaborative environment | |
US20080071916A1 (en) | System and method for requesting a web service from a network server | |
JP2007293503A (ja) | デバイス、その制御方法、及びプログラム | |
JP2011141695A (ja) | メッセージ処理装置およびメッセージ処理方法 |
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 |