博客 为什么不应该对所有的 message 都使用持久化机制?

为什么不应该对所有的 message 都使用持久化机制?

   数栈君   发表于 2024-01-29 13:54  529  0

不应该对所有的消息都使用持久化机制的原因主要有以下几点:

1. 性能考量:
- 消息持久化意味着消息需要被写入磁盘,这相对于非持久化消息(仅存放在内存中)而言,会增加额外的 I/O 操作,从而降低消息传递的速度和系统的整体性能。
- 在某些应用场景下,如实时聊天、在线游戏等,对消息的实时性和延迟要求很高,此时采用非持久化消息更能满足需求。

2. 成本因素:
- 持久化消息需要占用更多的存储资源,特别是在大规模的消息传递场景下,持久化存储的成本可能会显著增加。
- 高频次的持久化操作可能导致存储硬件的压力增大,需要更多高级别的存储设备以维持性能,这也会增加运维成本。

3. 业务需求差异:
- 不同的业务场景对消息的可靠性要求不同。例如,一些非关键性、可容忍丢失的消息,如系统日志、实时统计信息等,无需采用持久化机制。
- 而对于关键业务流程中必须确保传递成功、不允许丢失的消息,如交易订单、用户注册信息等,则需要使用持久化机制。

4. 复杂性增加:
- 消息持久化还会带来一定的复杂性,例如在处理消息堆积、系统故障恢复、消息重复处理等方面都需要更多的逻辑来保证数据一致性。

总之,是否使用持久化机制取决于具体的业务需求、性能要求以及成本预算。在实际应用中,通常会对不同类型的消息采取不同的存储策略,以平衡性能、成本与可靠性之间的关系。



《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu

《数栈V6.0产品白皮书》下载地址:https://fs80.cn/cw0iw1

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:https://github.com/DTStack  
0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群