【技术实现步骤摘要】
消息处理方法、装置、设备及存储介质
本专利技术涉及大数据技术的批量更新领域,尤其涉及一种消息处理方法、装置、设备及存储介质。
技术介绍
消息队列中间件是分布式系统中重要的组件,主要解决应用解耦、异步消息、流量削峰和消息通讯等问题,实现高性能、高可用、可伸缩和最终一致性架构。消息队列rabbitmq是常见的消息队列中间件之一,目前在市面上只提供基础的rabbitmq方法调用,常见的方法调用依赖包包括基于微框架springboot的高级消息队列协议amqp和基于安全工具包springcloud的消息驱动stream-rabbit。而amqp依赖包直接使用在项目中,由于amqp的调用方法入参为字符串,而非对象,使得创建消息队列的方法需要逐一调用或在一个类中逐个申明,不仅代码量大,而且通过类申明的方式无法根据互联网协议地址控制消费服务器,导致业务维护成本高和业务维护效率低,并且现有的消息队列缺少可控的批量消费消息,存在服务器资源浪费和消息吞吐率低的问题。
技术实现思路
本专利技术提供了一种消息处理方法、装置、设备及存储介质,用于提高业务维护效率和代码可读性,并提高消息处理效率。为实现上述目的,本专利技术第一方面提供了一种消息处理方法,包括:实例化环境配置对象,通过预设的消费者工具类按照所述环境配置对象生成业务交换机和业务消息队列,并对所述业务交换机和所述业务消息队列建立对应的绑定关系,所述业务消息队列为实时消息队列或延迟消息队列;通过预设的消息中间件将已生产消息传入至所述业务交换机,通过所 ...
【技术保护点】
1.一种消息处理方法,其特征在于,所述消息处理方法包括:/n实例化环境配置对象,通过预设的消费者工具类按照所述环境配置对象生成业务交换机和业务消息队列,并对所述业务交换机和所述业务消息队列建立对应的绑定关系,所述业务消息队列为实时消息队列或延迟消息队列;/n通过预设的消息中间件将已生产消息传入至所述业务交换机,通过所述业务交换机按照所述绑定关系将所述已生产消息传入至所述业务消息队列中,当所述已生产消息在所述延迟消息队列中等待预设的延迟发送时长时,将所述延迟发送时长到期的已生产消息传入至所述实时消息队列中,同一延迟消息队列对应的延迟发送时长相同;/n通过预设的订阅者接收所述实时消息队列推送的至少一个已生产消息,并将所述至少一个已生产消息缓存至预设的阻塞队列中;/n每隔预设的等待时长从所述预设的阻塞队列中批量读取每批次消息数据,在预设的消费者线程池中创建实际消费者线程,通过所述实际消费者线程对所述每批次消息数据进行业务处理。/n
【技术特征摘要】
1.一种消息处理方法,其特征在于,所述消息处理方法包括:
实例化环境配置对象,通过预设的消费者工具类按照所述环境配置对象生成业务交换机和业务消息队列,并对所述业务交换机和所述业务消息队列建立对应的绑定关系,所述业务消息队列为实时消息队列或延迟消息队列;
通过预设的消息中间件将已生产消息传入至所述业务交换机,通过所述业务交换机按照所述绑定关系将所述已生产消息传入至所述业务消息队列中,当所述已生产消息在所述延迟消息队列中等待预设的延迟发送时长时,将所述延迟发送时长到期的已生产消息传入至所述实时消息队列中,同一延迟消息队列对应的延迟发送时长相同;
通过预设的订阅者接收所述实时消息队列推送的至少一个已生产消息,并将所述至少一个已生产消息缓存至预设的阻塞队列中;
每隔预设的等待时长从所述预设的阻塞队列中批量读取每批次消息数据,在预设的消费者线程池中创建实际消费者线程,通过所述实际消费者线程对所述每批次消息数据进行业务处理。
2.根据权利要求1所述的消息处理方法,其特征在于,所述实例化环境配置对象,通过预设的消费者工具类按照所述环境配置对象生成业务交换机和业务消息队列,并对所述业务交换机和所述业务消息队列建立对应的绑定关系,所述业务消息队列为实时消息队列或延迟消息队列,包括:
实例化环境配置对象,并启动预设的消费者工具类,所述环境配置对象包括预设的实时交换机名、预设的实时消息队列名、预设的延迟交换机名、预设的延迟消息队列名和预设的延迟发送时长,所述预设的延迟发送时长与预设的队列序号规则一一对应;
通过所述预设的消费者工具类按照所述预设的实时交换机名、所述预设的延迟交换机名、所述预设的实时消息队列名和所述预设的延迟消息队列名生成业务交换机和业务消息队列,所述业务交换机包括实时交换机和延迟交换机,所述业务消息队列包括实时消息队列和延迟消息队列;
基于所述预设的队列序号规则和所述队列序号规则对应的延迟发送时长,分别设置延迟消息队列的延迟序号和延迟参数,并对所述业务交换机和所述业务消息队列建立对应的绑定关系。
3.根据权利要求1所述的消息处理方法,其特征在于,所述通过预设的消息中间件将已生产消息传入至所述业务交换机,通过所述业务交换机按照所述绑定关系将所述已生产消息传入至所述业务消息队列中,当所述已生产消息在所述延迟消息队列中等待预设的延迟发送时长时,将所述延迟发送时长到期的已生产消息传入至所述实时消息队列中,同一延迟消息队列对应的延迟发送时长相同,包括:
接收预设的生产者工具类发送的已生产消息,通过预设的消息中间件将所述已生产消息传入至所述业务交换机中,所述已生产消息携带有期望消费时效,所述期望消费时效用于指示已生产消息为实时消息或延迟消息;
基于所述期望消费时效确定所述已生产消息对应的消息类别,根据所述消息类别从所述业务交换机中匹配对应的目标交换机,所述目标交换机为实时交换机或延迟交换机;
通过所述目标交换机按照所述绑定关系将所述已生产消息传入至对应的业务消息队列中,同一延迟消息队列对应的延迟发送时长相同;
当所述已生产消息在所述延迟消息队列中等待预设的延迟发送时长时,将所述延迟发送时长到期的已生产消息传入至所述实时交换机,并通过所述实时交换机将所述延迟发送时长到期的已生产消息存入至所述实时消息队列中。
4.根据权利要求1所述的消息处理方法,其特征在于,所述通过预设的订阅者接收所述实时消息队列推送的至少一个已生产消息,并将所述至少一个已生产消息缓存至预设的阻塞队列中,包括:
通过预设的订阅者接收所述实时消息队列推送的至少一个已生...
【专利技术属性】
技术研发人员:邱昶卿,
申请(专利权)人:平安国际智慧城市科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。