加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 服务器 > 安全 > 正文

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

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

缓解这类问题的思路来自于CAP理论,即通过降低一致性来提高可用性.生产者接收线程在收到请求之后第一时间不去处理,直接将请求缓存在内存中(牺牲一致性),而在后台启动多个处理线程从缓存中读取请求、进行处理并写入分布式队列.

与线程所占用的内存开销相比,大部分的请求所占内存几乎可以忽略.通过在接收请求和处理请求之间增加一层内存缓存,可以大大提高系统的处理吞吐量和可扩展性.这个方案本质上是一个内存生产者消费者模型.

批量写入优化

如果生产者的请求过大,写分布式队列可能成为性能瓶颈,有如下几个因素:

  • 队列自身性能不高.
  • 分布式队列编程模型往往被应用在跨机房的系统里面,跨机房的网络开销往往容易成为系统瓶颈.
  • 消息确认机制往往会大大降低队列的吞吐量以及响应时间.

如果在处理请求和写队列之间添加一层缓存,消息写入程序批量将消息写入队列,可以大大提高系统的吞吐量.原因如下:

  • 批量写队列可以大大减少生产者和分布式队列的交互次数和消息传输量.特别是对于高吞吐小载荷的消息实体,批量写可以显著降低网络传输量.
  • 对于需要确认机制的消息,确认机制往往会大大降低队列的吞吐量以及响应时间,某些高敏感的消息需要多个消息中间件代理同时确认,这近一步恶化性能.在生产者的应用层将多条消息批量组合成一个消息体,消息中间件就只需要对批量消息进行一次确认,这可能会数量级的提高消息传输性能.

持久化优化

(编辑:云计算网_泰州站长网)

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

热点阅读