加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

微服务架构之–消息队列Kafka图解最全知识点

发布时间:2019-09-23 19:11:25 所属栏目:优化 来源:互联网架构师精髓
导读:MQ(消息队列)是跨进程通信的方式之一,可理解为异步rpc,上游系统对调用结果的态度往往是重要不紧急。使用消息队列有以下好处:业务解耦、流量削峰、灵活扩展。接下来介绍消息中间件Kafka。 Kafka是什么? Kafka是一个分布式的消息引擎。具有以下特征 能够

每个 broker 都会在 zookeeper 的临时节点 "/controller" 注册 watcher,当 controller 宕机时 "/controller" 会消失,触发broker的watch,每个 broker 都尝试创建新的 controller path,只有一个竞选成功并当选为 controller。

使用Kafka如何保证幂等性

不丢消息

  • 首先kafka保证了对已提交消息的at least保证
  • Sender有重试机制
  • producer业务方在使用producer发送消息时,注册回调函数。在onError方法中重发消息
  • consumer 拉取到消息后,处理完毕再commit,保证commit的消息一定被处理完毕

不重复

consumer拉取到消息先保存,commit成功后删除缓存数据

Kafka高性能

  • partition提升了并发
  • zero-copy
  • 顺序写入
  • 消息聚集batch
  • 页缓存

业务方对 Kafka producer的优化

  • 增大producer数量
  • ack配置
  • batch

(编辑:衡阳站长网)

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

热点阅读