【技术实现步骤摘要】
拉取消息的方法、装置及系统
本专利技术属于计算机领域,尤其涉及一种拉取消息的方法、装置及系统。
技术介绍
消息中间件是用来发布/订阅消息的消息系统,该消息中间件通常提供两种消费消息的方式:推送(Push)和拉取(Pull)。消息中间件包括消息产生器(Producer)、消息消费端(Consumer)和消息服务器(Broker),其中,Producer通过Push方式将消息发布/推送到Broker上,Consumer通过Pull方式从Broker中拉取消息。针对Pull方式,在大规范分布式系统下,Consumer需要向多个Broker轮询发起拉取请求。例如,在分布式系统下有100个Broker,一个Consumer要消息这100个Broker上的消息,此时,Consumer可以通过Pull方式从Broker拉取消息。目前,Consumer通过Pull方式从Broker上拉取消息有以下两种方法:(1)启动100个线程,每个线程对应于一个Broker,然后通过该线程发送pull(拉取)请求,然后Broker对该pull请求进行处理获取相应的应答消息,再利用线程接收返回给Consumer的应答消息,这样就完成Consumer从Broker上拉取消息的过程。(2)仅启动一个线程,当需要从100个Broker上拉取消息时,Consumer只能通过该线程逐次轮询这100个Broker,Consumer首先利用该线程发送拉取请求到一个Broker,Broker接收到拉取请求后对该拉取请求进行处理,获取相应的应答消息,然后向Consumer返回一个应答消息,Consumer ...
【技术保护点】
一种拉取消息的系统,其特征在于,包括:消息消费端和消息服务器;所述消息消费端,用于启动并初始化第一线程和第二线程,其中所述第一线程用于向所述消息服务器发送用于拉取消息的拉取请求;所述第二线程用于接收所述消息服务器返回的应答消息;所述消息消费端,用于通过所述第一线程将所述拉取请求发送给对应的所述消息服务器,以及通过第二线程接收所述消息服务器发送的应答消息;所述消息服务器,用于接收所述消息消费端发送的所述拉取请求,获取与所述拉取请求对应的所述应答消息并发送给所述消息消费端。
【技术特征摘要】
1.一种拉取消息的系统,其特征在于,包括:消息消费端和消息服务器;所述消息消费端,用于启动并初始化第一线程和第二线程,其中所述第一线程用于向所述消息服务器发送用于拉取消息的拉取请求;所述第二线程用于接收所述消息服务器返回的应答消息;所述消息消费端,用于通过所述第一线程将所述拉取请求发送给对应的所述消息服务器,以及通过第二线程接收所述消息服务器发送的应答消息;所述消息服务器,用于接收所述消息消费端发送的所述拉取请求,获取与所述拉取请求对应的所述应答消息并发送给所述消息消费端。2.根据权利要求1所述的拉取消息的系统,其特征在于,所述消息消费端,具体用于分析所述拉取请求的目标类型,获取与所述目标类型对应的所述消息服务器,并将所述拉取请求通过所述第一线程发送到所述消息服务器。3.根据权利要求2所述的拉取消息的系统,其特征在于,所述消息消费端,具体用于查询预存的拉取请求类型与消息服务器标识之间的映射关系,以获取与所述目标类型对应的所述消息服务器的标识信息,根据所述标识信息将所述拉取请求通过所述第一线程发送给所述消息服务器。4.根据权利要求3所述的拉取消息的系统,其特征在于,所述消息消费端,还用于当拉取多个消息服务器上的消息时,将所有待发送的拉取请求进行排序,按照顺序通过所述第一线程逐次将所述拉取请求发送给对应的所述消息服务器。5.一种拉取消息的方法,其特征在于,包括:通过第一线程发送用于拉取消息的拉取请求给对应的消息服务器;通过第二线程接收所述消息服务器返回的应答消息。6.根据权利要求5所述的拉取消息的方法,其特征在于,所述通过第一线程发送用于拉取消息的拉取请求给对应的消息服务器,包括:分析所述拉取请求的目标类型;获取与所述目标类型对应的所述消息服务器;将所述拉取请求通过所述第一线程发送到所述消息服务器。7.根据权利要求6所述的拉取消息的方法,其特征在于,所述获取与所述目标类型对应的所述消息服务器,包括:查询预存的拉取请求类型与消息服务器标识之间的映射关系,以获取与所述目标类型对应的所述消息服务器的标识信息。8.根据权利要求7所述的方法,其特征在于,所述将所述拉取请求通过所述第一线程发送到所述消息服务器,包括:当拉取多个消息服务器上的消息时,将所有待发送的拉取请求进行排序;按照顺序通过所述第一线程将所述拉取请求发送给对应的所述消息服务器。9.根据权利要求8所述的拉取消息的方法,其特征在于,所述当拉取多个消息服务器上的消息时,将所有待发送的拉取请求进行排序,包括:当拉取多个消息服务器上的消息时,获取所有待发送的拉取请求的类型;按照预设的拉取请求类型的优先级,对所有待发送的拉取请求进行排序;将排序后的所有拉取请求生成一个请求队列。10.根据权利要求9所述的拉取消息的方法,其特征在于,所述按照顺序通过所述第一线程将所述拉取请求发送给对应的所述消息服务器,包括当前一个拉取请求通过所述第一线程发送完成后,从所述请求队列中取出下一个拉取请求;通过所述第一线程将所述下一个拉取请求发送给对应的所述消息服务器。11.根据权利要求6-10任一项所述的拉取消息的方法,其特征在于,所述应答消息中携带消息消费端的标识。12.根据权利要求11所述的拉取消息的方法,其特征在于,所述通过第一线程发送用于拉取消息的拉取请求给对应的消息服务器之前,包括:从闲置的线程中选取两个线程;将一个线程初始化成专门用于发送所述拉取请求的所述第一线程,以及将另一个初始化成专门用于接收所述应答消息的所述第二线程。13.根据权利要求7所述的拉取消息的方法,其特征在于,所述消息服务器标识为所述消息服务器的地址信息,包括IP地址和端口号。14.一种拉取消息的装置,其特征在于,包括:发送模块,用于通过第一线程发送用于...
【专利技术属性】
技术研发人员:王小瑞,金晓军,强琦,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。