加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

一篇文了解分布式队列编程:从模型、实战到优化

发布时间:2021-01-10 21:45:57 所属栏目:安全 来源:网络整理
导读:《一篇文了解分布式队列编程:从模型、实战到优化》要点: 本文介绍了一篇文了解分布式队列编程:从模型、实战到优化,希望对您有用。如果有疑问,可以联系我们。 本文由美团点评技术团队出品,一篇文助你掌握分布式队列编程的要义.从模型到实战再到优化,基本

高可用性的消息中间件应该具备如下特征:

  • 消息中间件代理服务器(Broker)具有主从备份.即当一台代理服务宕机之后,备用服务器能接管相关的服务.
  • 消息中间件中缓存的消息是否有备份、并持久化.
  • 根据CAP理论,高可用、高一致性以及网络分裂不可兼得.根据作者的观察,大部分的消息中间件在面临网络分裂的情况下下,都很难保证数据的一致性以及可用性. 很多消息中间件都会提供一些可配置策略,让使用者在可用性和一致性之间做权衡.

高可靠的消息中间件应该确保从发送者接收到的消息不会丢失.中间件代理服务器的宕机并不是小概率事件,所以保存在内存中的消息很容易发生丢失.大部分的消息中间件都依赖于消息的持久化去降低消息丢失损失,即将接收到的消息写入磁盘.即使提供持久化,仍有两个问题需要考虑:

  • 磁盘损坏问题.长时间来看,磁盘出问题的概率仍然存在.
  • 性能问题.与操作内存相比,磁盘I/O的操作性能要慢几个数量级.频繁持久化不仅会增加响应时间,也会降低吞吐量.
  • 解决这两个问题的一个解决方案就是:多机确认,定期持久化.即消息被缓存在多台机器的内存中,只有每台机器都确认收到消息,才跟发送者确认(很多消息中间件都会提供相应的配置选项,让用户设置最少需要多少台机器接收到消息).由于多台独立机器同时出故障的概率遵循乘法法则,指数级降低,这会大大提高消息中间件的可靠性.

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读