互联网通用架构技术----消息队列消息顺序控制
2017-05-08 00:00
555 查看
摘要: 由于引入消息队列之后,系统的消息就以异步并行的方式执行了,控制消息的顺序性是一个不得不面对的问题。
工作中主要采用这种方式。
一个业务队列引入一个消费者
如果一个业务队列的消息交由一个消费者消费,处理的顺序就会依赖入队的顺序。但是单消费者严重影响了系统的并发处理能力。PASS。依赖分布式锁的消息递增ID
每个消息被创建时,都被赋予一个全局的,递增的,连续的序号ID,可以通过这个顺序ID作为消息处理的顺序。在消息处理之后会附加一些保障操作。异步消息队列不应该有顺序依赖
任务既然采用异步消息队列,对于消息就不应该依赖其顺序性,失败的消息进行保存,失败消息按照序号进行重试,重试多次之后消息通过。工作中主要采用这种方式。
总结
其实这个问题是一个确实需要解决的问题,方案当然有,但是可能需要涉及到中间件的二次开发,由于更关注业务,所以暂时没有特别深入的解决方案。相关文章推荐
- 互联网通用业务风控系统技术架构(一)消息组件MQ
- Azure Messaging-ServiceBus Messaging消息队列技术系列1-基本概念和架构
- 互联网通用架构技术----公网API安全规范
- Azure Messaging-ServiceBus Messaging消息队列技术系列3-消息顺序保证
- 互联网业务场景下消息队列架构
- 互联网业务场景下消息队列架构
- 互联网通用架构技术----分布式系统ID生成器
- Aliware-MQ消息队列技术架构与最佳实践
- 互联网通用架构技术----分布式锁
- 常见开源消息系统 - 互联网技术和架构
- 互联网通用架构技术----分布式事务解决方案
- 互联网通用架构技术解决方案----文章汇总
- Aliware-MQ消息队列技术架构与最佳实践
- Java互联网架构-高并发分布式消息中间件技术ActiveMQ事务
- 互联网通用架构技术----缓存雪崩
- 互联网通用架构技术解决方案----文章汇总
- 互联网业务场景下消息队列架构
- 互联网业务场景下消息队列架构
- 针对高并发,可扩展的互联网架构,搭建消息队列(一)
- 关于海量用户访问的通用技术架构的一些思考