异步消息处理规划
程序员文章站
2022-03-07 12:44:24
...
异步消息的规划:
1)消息需要包含哪些数据(业务数据、操作数据等)
2)数据的规划和特点(条数、大小等)
3)消息的类型和包含的数据格式
4)消息的传递域是点对点的还是发布订阅的
5)消息的保存模式:持久模式和非持久模式
6)消息的过期时间
7)消息的优先级
8)消息是否需要应答(Ack),以及应答的模式
9)消息的处理是否需要事务
10)技术选型
11)性能规划
12)传输协议选择
13)集群及部署方案
14)可伸缩性方案
15)容灾规划
什么叫消息队列
消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。
消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。
消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性。主要具有以下优势:
•削峰填谷(主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题)
•系统解耦(解决不同重要程度、不同能力级别系统之间依赖导致一死全死)
•提升性能(当存在一对多调用时,可以发一条消息给消息系统,让消息系统通知相关系统)
•蓄流压测(线上有些链路不好压测,可以通过堆积一定量消息再放开来压测)
消息队列应用场景:异步处理、应用解耦、流量削锋、日志处理、消息通讯
1)消息需要包含哪些数据(业务数据、操作数据等)
2)数据的规划和特点(条数、大小等)
3)消息的类型和包含的数据格式
4)消息的传递域是点对点的还是发布订阅的
5)消息的保存模式:持久模式和非持久模式
6)消息的过期时间
7)消息的优先级
8)消息是否需要应答(Ack),以及应答的模式
9)消息的处理是否需要事务
10)技术选型
11)性能规划
12)传输协议选择
13)集群及部署方案
14)可伸缩性方案
15)容灾规划
什么叫消息队列
消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。
消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。
消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性。主要具有以下优势:
•削峰填谷(主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题)
•系统解耦(解决不同重要程度、不同能力级别系统之间依赖导致一死全死)
•提升性能(当存在一对多调用时,可以发一条消息给消息系统,让消息系统通知相关系统)
•蓄流压测(线上有些链路不好压测,可以通过堆积一定量消息再放开来压测)
消息队列应用场景:异步处理、应用解耦、流量削锋、日志处理、消息通讯
上一篇: 多进程的vbs脚本
推荐阅读
-
c#使用微信接口开发微信门户应用中微信消息的处理和应答
-
Android编程开发之seekBar采用handler消息处理操作的方法
-
iOS Remote Notification远程消息推送处理
-
Android编程开发之seekBar采用handler消息处理操作的方法
-
《解剖PetShop》之三:PetShop数据访问层之消息处理
-
iOS Remote Notification远程消息推送处理
-
PHP的Laravel框架中使用消息队列queue及异步队列的方法
-
iOS中使用NSURLConnection处理HTTP同步与异步请求
-
Activity/Fragment结束时处理异步回调的解决方案
-
android的消息处理机制(图文+源码分析)—Looper/Handler/Message